本文主要介绍CNN中在pytorch的实现,其中MobileNet 网络,数据集来源,以及训练过程,模型生成和存储,模型调入等。
我们已经看到,复杂的网络需要大量的计算资源,如GPU,用于训练和快速推理。然而,事实证明,在大多数情况下,参数数量明显较少的模型仍然可以被训练为表现得相当好。换句话说,模型复杂性的增加通常会导致模型性能的小幅(非成比例)增加。
我们在模块开始时训练 MNIST 数字分类时观察到了这一点。简单密集模型的准确性并不明显低于强大的CNN。增加分类器中CNN层的数量和/或神经元的数量使我们能够获得百分之几的准确率。这让我们想到,我们可以尝试轻量级网络架构,以便训练更快的模型。如果我们希望能够在移动设备上执行我们的模型,这一点尤其重要。
该模块将依赖于我们在上一个单元中下载的猫和狗数据集。首先,我们将确保数据集可用。
!wget https://raw.githubusercontent.com/MicrosoftDocs/pytorchfundamentals/main/computer-vision-pytorch/pytorchcv.py