返回介绍

6 PyTorch 实践指南

发布于 2024-01-28 10:41:41 字数 1978 浏览 0 评论 0 收藏 0

在学习某个深度学习框架时,掌握其基本知识和接口固然重要,但如何合理组织代码,使得代码具有良好的可读性和可扩展性也必不可少。本文不会深入讲解过多知识性的东西,更多的则是传授一些经验,这些内容可能有些争议,因其受我个人喜好和 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文