初学CNN和代码遇到的问题(Lenet5 for mnist)

时间:2021-07-25
本文章向大家介绍初学CNN和代码遇到的问题(Lenet5 for mnist),主要包括初学CNN和代码遇到的问题(Lenet5 for mnist)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

初学CNN及代码

1.出现input size 为(512*1*1),而output size 为(512*0*0)。

答:由于输入的特征图太小,mnist 初始size为28*28,几次maxpooling后。解决方法就是减少层数或增大图片输入的size。

2.报错:invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python number。

答:不同pytorch版本的问题,total_loss += loss_val.data[0]                    to                     total_loss += loss_val.data即可。或改成loss.item() 

3.常用数据集下载问题

答:torchvision已经将数据集下载下来,直接定位到那个文件夹下download即可。

4.Module Not Found Error: No module named 'tabulate'。

答:尚未使用及解决。

5. RuntimeError: mat1 dim 1 must match .

答:卷积层到FC层的维度不匹配。nn.Linear(512, 100)中,512应该是卷积层得出的通道数*(特征图size^2),就是拉成1*1*512的Tensor作为通道数。100是输出的通道数。要自己推算。

6.maxpooling 是向上取整还是向下取整?

答:向下取整。conv也是向下取整。

7.要很注意是否padding了。

8.如果发现一直精度没啥变化,是时候调整下学习率了。

原文地址:https://www.cnblogs.com/jumanggege/p/15059001.html