内容简介:由 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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Linear Optimization
Dimitris Bertsimas、John N. Tsitsiklis / Athena Scientific / 1997-02-01 / USD 89.00
"The true merit of this book, however, lies in its pedagogical qualities which are so impressive..." "Throughout the book, the authors make serious efforts to give geometric and intuitive explanations......一起来看看 《Introduction to Linear Optimization》 这本书的介绍吧!