Pytorch猫狗大战遇见的问题总结
- 1. 关于命令行界面
- 2. 关于visdom的运行
- 3. NameError: name 'unicode' is not defined
- 4. name 'opt' is not defined
- 5. 'dict' object has no attribute 'iteritems'
- 6. invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python number
- 7. FileNotFoundError: [Errno 2] No such file or directory: 'checkpoints/model.pth'
- 8. RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 2.00 GiB total capacity; 1.01 GiB already allocated; 15.89 MiB free; 219.03 MiB cached)
- 9. OSError: [Errno 22] Invalid argument: 'checkpoints/resnet34_0805_10:28:05.pth'
- 10. FileNotFoundError: [Errno 2] No such file or directory: 'checkpoints/model.pth'
- 11. ValueError: invalid literal for int() with base 10: 'test1\\1'
本博客的项目代码为《深度学习框架PyTorch:入门与实战》中的代码,参考的PyTorch的入门教程实战这篇博客,运行代码下来出现了一些问题,所以在这里记录一下。因为我是后知后觉想到要记录的,所以文章里的截图都是修改后的代码截图。
对于这个代码,看完后,运行后还是稀里糊涂的,就训练时每次25%就停止接着下一轮训练,就很迷,虽然最后预测test也成功了,但是没有准确率的计算也不知道模型精度怎么样,所以后面还需要再多学习改进吧,如果有知道的告诉可怜的我吧!♀️
1. 关于命令行界面
这个代码中有fire库的原因,所以就可以直接在命令行窗口运行代码。
所以直接在文件夹位置,按住shift键,同时右键,就可以找到“在此处打开cmd窗口”,就是在当前文件夹位置打开命令行窗口,就不用再start出打开cmd再cd文件夹的位置了。
然而我的按住shift键,同时右键,找到的是“在此处打开Powershell窗口”,反正都可以。
2. 关于visdom的运行
在命令行窗口中输入python -m visdom.server时,一直显示downloading
【解决方案】
- 进入目录F:\Anaconda3\Lib\site-packages\visdom找到文件server.py
- 打开文件,并注释掉图片中的那一行
- 重新下载static文件夹并替换掉原来文件夹里的static
链接:https://pan.baidu.com/s/1CPaoj29vs3uEl8a7JsHnOQ
提取码:lvdf
- 打开命令行窗口,输入“python -m visdom.server”
- 将下图中的网址输入浏览器,就可以进入第二张图的界面
另外,对于代码中训练过程中的验证的准确率可视化并没有任何反应,我也无力于找到其中的原因了,有知道原因的告诉我吧~
3. NameError: name ‘unicode’ is not defined
【解决方案】:在utils文件夹里的visualize.py文件中的unicode(name)改为str(name)
4. name ‘opt’ is not defined
【解决方案】:在main.py里将 # coding:utf8 改成# coding:utf-8
5. ‘dict’ object has no attribute ‘iteritems’
【解决方案】:在config.py文件中的parse函数中,将iteritems()改成items()
6. invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python number
【解决方案】:将loss.data[0] 改成loss.item()
7. FileNotFoundError: [Errno 2] No such file or directory: ‘checkpoints/model.pth’
【解决方案】:在config.py文件中将load_model_path = 'checkpoints/model.pth’注释掉并加上load_model_path = None
8. RuntimeError: CUDA out of memory. Tried to allocate 16.00 MiB (GPU 0; 2.00 GiB total capacity; 1.01 GiB already allocated; 15.89 MiB free; 219.03 MiB cached)
【解决方案】:在config.py文件中,将batch_size改小(根据自己电脑的情况修改)
9. OSError: [Errno 22] Invalid argument: ‘checkpoints/resnet34_0805_10:28:05.pth’
【解决方案】:在models文件夹中的BasicModule文件中的save函数中,将’%m%d_%H:%M:%S.pth’的冒号去掉!
下面是在test时出现的错误-------------------------------------------------------------------------------------------
10. FileNotFoundError: [Errno 2] No such file or directory: ‘checkpoints/model.pth’
【解决方案】:找到自己checkpoints文件夹,找到最新的一个.pth文件
复制文件名,转到config文件夹中,做如下图的修改
11. ValueError: invalid literal for int() with base 10: ‘test1\1’
【解决方案】:由于Linux的’/‘相当于win10里的’\’,所以做如下修改即可