手机浏览器扫描二维码访问
。
这次,他打算以“研究者”
和“探索者”
的心态重新审视它。
pytorch由Facebook(现meta)AI研究院推出,核心设计哲学是“python优先”
和动态计算图。
林晨从最基本的张量(tensor)操作开始,感受其与Numpy的相似性带来的亲切感。
构建模型时,他需要自己定义一个继承自torch.nn.module的类,并在forward方法中明确写出数据流动的过程。
importtorch
importtorch.nnasnn
importtorch.optimasoptim
classSimpleNN(nn.module):
def__init__(self):
super.__init__
self.flatten=nn.Flatten
self.linear_relu_stack=nn.Sequential(
nn.Linear(28*28,128),
nn.ReLU,
nn.Linear(128,10)
)
defforward(self,x):
x=self.flatten(x)
logits=self.linear_relu_stack(x)
returnlogits
这种面向对象的方式,让模型的每一层、每一个操作都清晰可见。
最让林晨感到舒心的是pytorch的自动微分(autograd)系统和调试的便捷性。
他可以在训练循环的任何地方,插入打印语句查看张量的值、形状,甚至计算梯度。
动态图意味着计算图是在代码运行时动态构建的,这带来了无与伦比的灵活性——你可以用python原生的控制流(if、for、while)来构建模型结构,这在研究新模型结构时简直是神器。
“这才是编程的感觉”
。
林晨忍不住感叹。
他尝试修改网络结构,增加一个跳跃连接(Skipconnection),在tensorFlow中可能需要调整tf.keras的ApI用法,而在pytorch里,他几乎像写普通python类一样自然地在forward方法里实现了。
为了更直观地对比,林晨决定用两个框架分别实现同一个稍复杂的模型——一个简单的卷积神经网络(cNN),再次在mNISt上测试。
结果,在模型性能上两者相差无几(pytorch版本98.2%,tensorFlow版本98.1%),但在开发体验上,林晨明显感觉pytorch更符合他的思维习惯。
...
TXT下载,最新章节,无错,番外...
...
TXT下载,最新章节,无错,番外...
TXT下载,最新章节,无错,番外...
穿越当晚,新婚洞房。云绾宁被墨晔那狗男人凌虐的死去活来,后被抛之后院,禁足整整四年!本以为,这四年她过的很艰难。肯定变成了个又老又丑的黄脸婆!但看着她身子各位书友要是觉得神医毒妃腹黑宝宝还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦!1w3452453977...