资源 | 18 分钟训练ImageNet复现代码
选自 GitHub
作者:yaroslavvb、bearpelican
机器之心整理
由 fast.ai 学员 Andrew Shaw、DIU 研究员 Yaroslav Bulatov 和 Jeremy Howard(fast.ai 创始研究员)组成的团队在18 分钟内成功完成训练 Imagenet的任务,准确率达到 93%。本文介绍了Yaroslav Bulatov刚刚放出的复现代码。
项目地址:https://github.com/diux-dev/imagenet18
fast.ai 使用了 16 个 AWS 云实例(每个实例使用 8 个英伟达 V100 GPU)来运行 fastai 和 PyTorch 库。这一速度打破了在公共基础架构上训练 Imagenet 达到 93% 准确率的速度记录,且比谷歌在 DAWNBench 竞赛中使用其专有 TPU Pod 集群的训练速度快 40%。该团队使用的处理单元数量和谷歌的基准(128)一样,运行成本约 40 美元。
项目贡献者 yaroslavvb 正是该团队的成员之一:
运行要求:
Python 3.6 或更高版本
依赖:
awscli
boto3
ncluster
paramiko
portpicker
tensorflow
tzlocal
pipinstall-rrequirements.txt
awsconfigure(orsetyourAWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_DEFAULT_REGION)
pythontrain.py#pre-warming
pythontrain.py
如果想要用更少台机器执行训练,可以使用以下选项:
pythontrain.py--machines=1
pythontrain.py--machines=4
pythontrain.py--machines=8
pythontrain.py--machines=16
检查进度
机器会打印进度到本地 stdout,以及记录 TensorBoard 事件文件到 EFS。你可以:
使用工具或 launch_tensorboard.py 来运行 TensorBoard
这将提供到 TensorBoard 实例的链接,其拥有「losses」组的损失函数图。你将在「Losses」标签下看到这样的结果:
使用运行期间打印出的指令来连接到其中一个实例:
2018-09-0617:26:23.56209615.imagenet:Toconnectto15.imagenet
ssh-i/Users/yaroslav/.ncluster/ncluster5-yaroslav-316880547378-us-east-1.pem-oStrictHostKeyChecking=noubuntu@18.206.193.26
tmuxa
这将连接到 tmux 会话:
.997(65.102)Acc@585.854(85.224)Data0.004(0.035)BW2.4442.445
Epoch:[21][175/179]Time0.318(0.368)Loss1.4276(1.4767)Acc@166.169(65.132)Acc@586.063(85.244)Data0.004(0.035)BW2.4642.466
ChangingLRfrom0.4012569832402235to0.40000000000000013
Epoch:[21][179/179]Time0.336(0.367)Loss1.4457(1.4761)Acc@165.473(65.152)Acc@586.061(85.252)Data0.004(0.034)BW2.3932.397
Test:[21][5/7]Time0.106(0.563)Loss1.3254(1.3187)Acc@167.508(67.693)Acc@588.644(88.315)
Test:[21][7/7]Time0.105(0.432)Loss1.4089(1.3346)Acc@167.134(67.462)Acc@587.257(88.124)
~~210.3113267.46288.124
最后一个数字表示在第 21 个 epoch 时,本次运行获得了 67.462% 的 top-1 测试准确率和 88.124% 的 top-5 准确率。
fast.ai 的主要训练方法是:fast.ai 用于分类任务的渐进式调整大小和矩形图像验证;英伟达的 NCCL 库,该库整合了 PyTorch 的 all-reduce 分布式模块;腾讯的权重衰减调整方法;谷歌大脑的动态批量大小的一个变体,学习率逐步预热(Goyal 等人 2018、Leslie Smith 2018)。该团队使用经典的 ResNet-50 架构和具备动量的 SGD。
本文为机器之心整理,转载请联系本公众号获得授权。
?------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。 项目经理在线