内容简介:由 fast.ai 学员 Andrew Shaw、DIU 研究员 Yaroslav Bulatov 和 Jeremy Howard(fast.ai 创始研究员)组成的团队在项目地址:https://github.com/diux-dev/imagenet18fast.ai 使用了 16 个 AWS 云实例(每个实例使用 8 个英伟达 V100 GPU)来运行 fastai 和 PyTorch 库。这一速度打破了在公共基础架构上训练 Imagenet 达到 93%准确率的速度记录,且比谷歌在 DAWNBen
由 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
pip install -r requirements.txt aws configure (or set your AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_DEFAULT_REGION) python train.py # pre-warming python train.py
如果想要用更少台机器执行训练,可以使用以下选项:
python train.py --machines=1 python train.py --machines=4 python train.py --machines=8 python train.py --machines=16
检查进度
机器会打印进度到本地 stdout,以及记录TensorBoard 事件文件到 EFS。你可以:
-
使用 工具 或 launch_tensorboard.py 来运行TensorBoard
这将提供到TensorBoard 实例的链接,其拥有「losses」组的损失函数图。你将在「Losses」标签下看到这样的结果:
使用运行期间打印出的指令来连接到其中一个实例:
2018-09-06 17:26:23.562096 15.imagenet: To connect to 15.imagenet ssh -i /Users/yaroslav/.ncluster/ncluster5-yaroslav-316880547378-us-east-1.pem -o StrictHostKeyChecking=no ubuntu@18.206.193.26 tmux a
这将连接到 tmux 会话:
.997 (65.102) Acc@5 85.854 (85.224) Data 0.004 (0.035) BW 2.444 2.445 Epoch: [21][175/179] Time 0.318 (0.368) Loss 1.4276 (1.4767) Acc@1 66.169 (65.132) Acc@5 86.063 (85.244) Data 0.004 (0.035) BW 2.464 2.466 Changing LR from 0.4012569832402235 to 0.40000000000000013 Epoch: [21][179/179] Time 0.336 (0.367) Loss 1.4457 (1.4761) Acc@1 65.473 (65.152) Acc@5 86.061 (85.252) Data 0.004 (0.034) BW 2.393 2.397 Test: [21][5/7] Time 0.106 (0.563) Loss 1.3254 (1.3187) Acc@1 67.508 (67.693) Acc@5 88.644 (88.315) Test: [21][7/7] Time 0.105 (0.432) Loss 1.4089 (1.3346) Acc@1 67.134 (67.462) Acc@5 87.257 (88.124) ~~21 0.31132 67.462 88.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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 对比复现34个预训练模型,PyTorch和Keras你选谁?
- 【漏洞复现】WordPress插件Quizlord 2.0 XSS漏洞复现与分析
- Ghost Tunnel复现
- Paxos与“幽灵复现”
- CVE-2010-3333漏洞复现
- CVE-2017-12149漏洞复现
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Charlotte's Web
E. B. White / Scholastic / 2004 / USD 0.01
This is the tale of how a little girl named Ferm, with the help of a friendly spider, saved her pig, Wilbur, from the usual fate of nice fat little pigs.一起来看看 《Charlotte's Web》 这本书的介绍吧!