对比tensorflow,从0开始学pytorch(一)

tensorflow是10年前开始用的,水了N篇论文后,发现现在的趋势是pytorch,于是开始从0学起,记个笔记。

从入门MNIST开始:

第一个不适应的地方:这里的尺度为啥要自己计算?

对于用惯了tensorflow+keras这种傻瓜式的框架来说,这玩意是太折腾人了。

只能理解为更加严谨。在LeNet的基础之上,加了BN和DropOut。两个和tensorflow不同的地方:

  1. BN也需要参数,具体值就是上一层的channel数,tensorflow不用

  2. 不管是训练还是测试,都需要对模型加一句:model.train()或model.eval(),不然BN或DropOut不起作用(网上这么说的)

第二个不适应的地方:啥都要自己写

不管是训练,还是evaluate,都需要自己手写代码,tensorflow中,训练直接从history提取loss什么的就行,evaluate就更简单,就一行代码。不过这样的好处也是有的......多写两行代码锻炼代码能力。

疑惑:GPU并没有跑满,很神奇。

这块从2015年开始陪我征战的1080ti,直接跑不满。放tensorflow下,哪怕是MNIST这种数据集,也在60%左右,很奇怪,不知道用的什么机制。

学习到了一些比较好的语法糖,比如:

复制代码
pred.eq(target.view_as(pred)).sum().item()

避免了循环的写法,也高效。虽然这是python的基本语法,因为原来evaluate直接出结果,也很少用到。一直傻傻的用循环用了十多年。所以说,论文真是水出来的。

相关推荐
风象南1 天前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶1 天前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶1 天前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考1 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab1 天前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab1 天前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸1 天前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云1 天前
可观测性 4.0:教系统如何思考
人工智能
sunny8651 天前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔1 天前
OpenClaw 多Agent软件开发最佳实践指南
人工智能