前段时间,机器之心已经编译介绍了「PyTorch:Zero to GANs」系列的前三篇文章,参阅《PyTorch 进阶之路:一、二、三》,其中讲解了张量、梯度、线性回归、梯度下降和 logistic 回归等基础知识。本文是该系列的第四篇,将介绍如何在 GPU 上使用 PyTorch 训练深度神经网络。
在之前的教程中,我们基于 MNIST 数据集训练了一个识别手写数字的 logistic 回归模型,并且达到了约 86% 的准确度。
但是,我们也注意到,由于模型能力有限,很难再进一步将准确度提升到 87% 以上。在本文中,我们将尝试使用前向神经网络来提升准确度。本教程的大部分内容受到了 Jeremy Howard 的 FastAI 开发笔记的启发:https://github.com/fastai/fastai_old/tree/master/dev_nb
系统设置
如果你想一边阅读一边运行代码,你可以通过下面的链接找到本教程的 Jupyter Notebook:
https://jvn.io/aakashns/fdaae0bf32cf4917a931ac415a5c31b0
你可以克隆这个笔记,使用 conda 安装必要的依赖包,然后通过在终端运行以下命令来启动 Jupyter:
pip install jovian --upgrade # Install the jovian library
jovian clone fdaae0bf32cf4917a931ac415a5c31b0 # Download notebook
cd 04-feedforward-nn # Enter the created directory
jovian install # Install the dependencies
conda activate 04-feedfoward-nn # Activate virtual env
jupyter notebook # Start Jupyter
如果你的 conda 版本更旧一些,你也许需要运行 source activate 04-feedforward-nn 来激活虚拟环境。对以上步骤的更详细解释可参阅本教程的本系列教程第一篇文章。