我尝试从这个article基于LeNet架构从头开始构建CNN。
我实现了背景,现在尝试使用 16 个批量大小的 SGD 在 MNIST 数据集上对其进行训练。我想找到一种快速的方法来验证学习是否顺利并且没有bug。为此,我将每 100 个批处理的损失可视化,但在我的笔记本电脑上花费的时间太长,而且我看不到整体动态(损失向下波动,但偶尔会跳回来,所以我不确定)。谁能提出一种行之有效的方法来发现 CNN 运行良好,而无需等待多个小时的训练?
最佳答案
MNIST 由 60k 个 28 * 28 像素的数据集组成。训练批量大小为 16 的 CNN 将在每个 epoch 进行 4000 次前向传递。 现在考虑到您使用的是 LeNet,它不是一个非常深入的模型。 我建议您执行以下操作:
- 检查您的电脑规范,例如 RAM、处理器、GPU 等。
- 尝试在 Google Colab、Kaggle 等云服务上训练您的模型
- 尝试使用 128 或 64 的批量大小
- 在训练前尝试标准化图像数据集
训练速度还取决于您使用的机器学习框架,例如 Tensorflow、Pytorch 等。 我希望这会有所帮助。
关于python - 如何快速验证 CNN 是否真正学习?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59810367/