news 2026/4/23 17:13:52

学习日记day50

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习日记day50

Day50_1215

专注时间:5H55min

每日任务:2h=复习数据库(完成情况及时长);1h=二刷2道力扣hot100(如果是hard,只做一道就好完成情况及时长:今日1道高频面试手撕题146.LRU缓存,做了2H46min);【学习资源:PyTorch官方文档:https://docs.pytorch.ac.cn/tutorials/beginner/basics/intro.html】1.5h=PyTorch工程实操(完成情况及时长:10+8+45把第二个pytorch网页的“局部禁用梯度计算”看懂,就去看第一个pytorch网页);1h=周志华机器学习(完成情况及时长:7);【按照Claude的路线】1h=手撕机器学习算法(完成情况及时长:??);计算机网络45分钟(完成情况及时长:??

学完机器学习,然后是深度学习、搜广推经典模型(也有很多要手撕的,见Claude生成的)。学完PyTorch,之后是Transformer与大模型架构(见Gemini3pro生成的阶段2)。学快一点,学完还要做搜广推的实战项目。准备一个GitHub Repo把所有手撕过的算法整理进去,这会是最好的复习资料。

必须熟记的API、最简洁的GPT实现、带注释的Transformer实现、推荐系统模型库(包含主流模型实现)还有“Let's build GPT”系列学习视频见Claude的第20页。

学习内容: 如上

总结与心得:专注时长很可以。周六周日懈怠+休息了。《146.LRU缓存》是高频手撕面试题。看了《模式识别与机器学习》历年试卷,感觉不去上课,不改学习方法会挂科啊【GitHub repo并且学习的ML等算法都要去做笔记手敲,这样才好复习,而且也才是真正学进去,不然又忘记了。】以后每次课都去,晚上下课后再去练,练完就不做有氧了。买个笔记本电脑充电宝吧。

《146.LRU缓存》

class DoublyLinkedNode(object): def __init__(self,key=0,value=0): self.prev = None self.next = None self.key = key self.value = value class LRUCache(object): #move2head deletenode deleltetail add2head #get(3)那么key:3对应的(key,value)就算被使用过了 def __init__(self, capacity): """ :type capacity: int """ #注意这里用了伪头节点和伪尾节点,所以有些函数的逻辑和双向链表不一样 self.cache = dict() self.size = 0 self.capacity = capacity self.head = DoublyLinkedNode() self.tail = DoublyLinkedNode() self.head.next = self.tail self.tail.prev = self.head def get(self, key): """ :type key: int :rtype: int """ if key not in self.cache: return -1 node = self.cache[key] self.move2head(node) return node.value def put(self, key, value): """ :type key: int :type value: int :rtype: None """ if key in self.cache: node = self.cache[key] node.value = value self.move2head(node) else: node = DoublyLinkedNode(key,value) self.cache[key] = node self.add2head(node) self.size += 1 if self.size > self.capacity: denode = self.removetail() self.size -= 1 #dict.pop(key)删除键值对 self.cache.pop(denode.key) def delete(self,node): node.next.prev = node.prev node.prev.next = node.next def move2head(self,node): self.delete(node) self.add2head(node) def add2head(self,node): #伪头节点 node.next = self.head.next node.prev = self.head self.head.next.prev = node self.head.next = node def removetail(self): #伪尾节点 #return:DLinkedNode 被移除的节点(用于删除哈希表中的对应项) node = self.tail.prev self.delete(node) return node # Your LRUCache object will be instantiated and called as such: # obj = LRUCache(capacity) # param_1 = obj.get(key) # obj.put(key,value)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:51:46

Ubuntu远程连接控制私网Ubuntu很简单----内网穿透

https://blog.csdn.net/geniusChinaHN/article/details/156025026?spm1001.2014.3001.5501 如果你要建立的是服务器,一定要有一个公网IP,要不然是穿不透的。这里是一台电脑远程控制另外一台私网IP电脑。

作者头像 李华
网站建设 2026/4/22 17:18:28

【2025最新】Sumatra PDF 下载安装教程:轻量高效的PDF阅读器全方位指南

在Windows系统中,PDF阅读器种类繁多,但多数软件启动慢、体积大或夹带多余功能。对于追求高效、简洁体验的用户而言,Sumatra PDF 是一个理想选择。 本文提供一份完整的 Sumatra PDF 下载安装教程,涵盖获取方式、安装流程、语言设置…

作者头像 李华
网站建设 2026/4/23 15:44:42

基于单视图几何摄像机内参的投影成像原理

理论基础:焦距 f 就是胶片到小孔的距离摄像机焦距和fov存在一一对应的关系,fov其实就是摄像机焦距的另一种更直观的表达方式摄像机坐标系的原点就是针孔位置:摄像机焦距就是原点到像平面的距离通过将: ( 点的物理坐标/…

作者头像 李华
网站建设 2026/4/23 15:00:48

# CATIA V5 零基础全能设计课程

# CATIA V5 零基础全能设计课程 **发布时间**:2025年12月 英语 | 课时规模:90讲 大小:6 GB 通过实操建模、装配、工程制图和曲面设计项目,**从零开始掌握CATIA V5**。CATIA V5 Complete Design Course for Beginners## 你将学到的…

作者头像 李华
网站建设 2026/4/23 13:45:22

24、线程编程:事件驱动、并发、竞争与同步

线程编程:事件驱动、并发、竞争与同步 1. 事件驱动线程 在现代编程中,事件驱动模式是对每个连接一个线程模式的一种改进。以 Web 服务器为例,现代硬件在计算能力上能够同时处理大量请求。但在每个连接一个线程的模式下,这意味着会创建大量线程。线程存在固定开销,特别是…

作者头像 李华
网站建设 2026/4/23 13:43:47

HarmonyOS开发之分布式硬件共享——使用虚拟设备

HarmonyOS开发之分布式硬件共享——使用虚拟设备 第一部分:引入 想象一下这样的场景:你在用平板电脑参加视频会议,但平板的摄像头像素不够高,画质模糊;或者你在智能手表上想拍照记录运动瞬间,但手表摄像头性…

作者头像 李华