文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
6 PyTorch 实践指南
在学习某个深度学习框架时,掌握其基本知识和接口固然重要,但如何合理组织代码,使得代码具有良好的可读性和可扩展性也必不可少。本文不会深入讲解过多知识性的东西,更多的则是传授一些经验,这些内容可能有些争议,因其受我个人喜好和 coding 风格影响较大,你可以将这部分当成是一种参考或提议,而不是作为必须遵循的准则。归根到底,都是希望你能以一种更为合理的方式组织自己的程序。
在做深度学习实验或项目时,为了得到最优的模型结果,中间往往需要很多次的尝试和修改。而合理的文件组织结构,以及一些小技巧可以极大地提高代码的易读易用性。根据我的个人经验,在从事大多数深度学习研究时,程序都需要实现以下几个功能:
- 模型定义
- 数据处理和加载
- 训练模型(Train&Validate)
- 训练过程的可视化
- 测试(Test/Inference)
另外程序还应该满足以下几个要求:
- 模型需具有高度可配置性,便于修改参数、修改模型,反复实验
- 代码应具有良好的组织结构,使人一目了然
- 代码应具有良好的说明,使其他人能够理解
在本文我将应用这些内容,并结合实际的例子,来讲解如何用 PyTorch 完成 Kaggle 上的经典比赛:Dogs vs. Cats[1] 。本文所有示例程序均在 github 上开源 https://github.com/chenyuntc/pytorch-best-practice 。
数据下载
- 从 kaggle 比赛官网 下载所需的数据
- 解压并把训练集和测试集分别放在一个文件夹中
安装
- PyTorch : 可按照 PyTorch 官网 的指南,根据自己的平台安装指定的版本
- 安装指定依赖:
pip install -r requirements.txt
训练
必须首先启动 visdom:
python -m visdom.server
然后使用如下命令启动训练:
# 在 gpu0 上训练,并把可视化结果保存在 visdom 的 classifier env 上
python main.py train --train-data-root=./data/train --use-gpu=True --env=classifier
详细的使用命令 可使用
python main.py help
测试
python main.py test --data-root=./data/test --use-gpu=False --batch-size=256
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论