《PyTorch 进阶之路:一、二》,其中讲解了张量、梯度、线性回归和梯度下降等基础知识。本文是该系列的第三篇,将介绍如何使用 logistic 回归实现图像分类。
在本教程中,我们将使用我们已有的关于 PyTorch 和线性回归的知识来求解一类非常不同的问题:图像分类。我们将使用著名的 MNIST 手写数字数据库作为我们的训练数据集。其中含有 28×28 像素的灰度手写数字图像(0 到 9),并且每张图像都带有指示该图像的数字的标签。下面是一些来自该数据集的样本:
图源:http://yann.lecun.com/exdb/mnist/
系统设置
如果你想一边阅读一边运行代码,你可以通过下面的链接找到本教程的 Jupyter Notebook:
https://jvn.io/aakashns/a1b40b04f5174a18bd05b17e3dffb0f0
你可以克隆这个笔记,使用 conda安装必要的依赖包,然后通过在终端运行以下命令来启动 Jupyter:
pip install jovian --upgrade # Install the jovian library
jovian clone a1b40b04f5174a18bd05b17e3dffb0f0 # Download notebook
cd 03-logistic-regression # Enter the created directory
conda env update # Install the dependencies
conda activate 03-logistic-regression # Activate virtual env
jupyter notebook # Start Jupyter
如果你的 conda 版本更旧一些,你也许需要运行 sourceactivate 03-logistic-regression 来激活环境。对以上步骤的更详细的解释可参阅本教程的前一篇文章。