PyTorch代码错误笔记一

PyTorch代码错误笔记一

文章目录

  • PyTorch代码错误笔记一
  • 前言
  • 1、RuntimeError: stack expects each tensor to be equal size, but got [1, 224, 224] at entry 0 and [3, 224, 224] at entry 32
  • 2、BrokenPipeError: [Errno 32] Broken pipe
  • 3、RuntimeError: CUDA out of memory. Tried to allocate 392.00 MiB (GPU 0; 4.00 GiB total capacity; 2.18 GiB already allocated; 381.14 MiB free; 2.20 GiB reserved in total by PyTorch)
  • 4、训练网络时,怎么实时查看GPU的名称,温度,显存利用情况和GPU利用率,还有正在工作的GPU进程。
  • 5、requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8097): Max retries exceeded with url: /env/vvv (Caused by NewConnectionError('


`在这里插入代码片`

前言

本文记录着在学习PyTorch过程中遇到的bug及解决方法。随着学习的不断深入,bug记录也会越来越多。


1、RuntimeError: stack expects each tensor to be equal size, but got [1, 224, 224] at entry 0 and [3, 224, 224] at entry 32

错误分析:代码错误代码为:PIL.Image.open(‘path),用来加载图片,但是数据集中不仅有三通道图片,还有单通道图像。
解决方案:在加载图片的时候,把图片转化为单通道或者三通道,正确代码为:PIL. Image.open(path).convert(‘L’)

2、BrokenPipeError: [Errno 32] Broken pipe

错误分析:num_workers=2时,由于windows系统下的多线程存在bug吧,有时候可以,有时候不可以,用linux就不会出现这种情况
解决方案:把num_workers=2 改为num_workers=0就可以了

3、RuntimeError: CUDA out of memory. Tried to allocate 392.00 MiB (GPU 0; 4.00 GiB total capacity; 2.18 GiB already allocated; 381.14 MiB free; 2.20 GiB reserved in total by PyTorch)

错误分析:显示GPU可分配的内存不够,我的batch_size = 256
解决方案:改成batch_size=128改成batch_size=64,或者更小

4、训练网络时,怎么实时查看GPU的名称,温度,显存利用情况和GPU利用率,还有正在工作的GPU进程。

解决方案:cmd中输入命令nvidia-smi.exe -l 2 ###每2秒进行更新一次

5、requests.exceptions.ConnectionError: HTTPConnectionPool(host=‘localhost’, port=8097): Max retries exceeded with url: /env/vvv (Caused by NewConnectionError(’: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。’))

解决方案:需要启动Visdom,终端启动python -m visdom.server

你可能感兴趣的:(PyTorch)