首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度学习入门之PyTorch学习笔记#3

今天学习并实现了ResNet——残差网络,在CIFAR10集合上进行训练。

首先是残差的理解,一般的神经网络输入x,期望输出是H(X),神经网络本身可以看做F(x),训练的目标是F(x)=H(x),而对于ResNet,把输入x加上F(x)作为输出,因此变成F(x)+x=H(x),所以训练的目标变成F(x)=H(x)-x,神经网络训练的目标变成了残差。看起来很容易的东西,但是第一个想到确实很难哎。。。。

书中对ResNet实现,__init__中的layers让我琢磨了好久,仔细读代码后发现就是表示堆叠多少个残差模块,layers里面只用了两个整数,在layer1、2、3中表示分别堆叠多少个残差模块,但是不知道这样的好处是什么?为啥不用blocks_in_1、blocks_in_2这样的参数命名?

这是训练20次迭代后再训练集上达到的效果:

Test loss: 1.158967, acc: 0.634400

这是训练50次迭代后在训练集上达到的效果:

loss: 0.759746, acc: 0.762700

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180111G0AN0C00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券