深度学习踩坑记录

1. 

错误:

*** out of dimension of x

原因:

使用batch_size == 2 进行训练时,数据集不能被batch_size整除,最后一个输入batch_size的维度为1,经过torch.seqeeze() 函数处理时,压缩了特征向量中的batch_size维度,导致维度丢失,。

解决:

再txt文件中,删除最后一个数据,使得数据集可以被batch_size整除

2. 

错误:

AssertionError: CUDA unavailable, invalid device 0 requested

原因:

1. cuda 与 pytorch 版本不对应

查看: https://pytorch.org/get-started/previous-versions/

2. 直接使用 pip 导致安装了 cpu 版本的pytorch

查看: https://download.pytorch.org/whl/torch_stable.html

发现分为

cpu/torch 和 cux.x/torch 两个目录

3. pip 使用cach中的pytorch版本

而catch中的版本 与 本地cuda版本不对应

4. pip 安装时默认选择最高cuda版本的pytorch安装包

这也发现,pytorch与cuda版本是一一对应的,并不是一个pytorch版本可以兼容多版本的cuda(官方网页的误导),因此再切换cuda(10.2->10.1)时,必须要重装pytorch(1.6.0),尽管看起来现有版本是符合cuda版本要求的,我们也要重新安装pytorch,因为pytorch(1.6.0)会为不同的cuda版本发布不同的包,尽管他们的版本信息都显示为1.6.0

 

查看 torch 版本详细信息:

深度学习踩坑记录_第1张图片

使用官方命令安装:

深度学习踩坑记录_第2张图片

 

直接pip ,导致使用cach中的pytorch版本

深度学习踩坑记录_第3张图片

 

catch 中的版本对应cuda10.2,而本地安装为10.1

深度学习踩坑记录_第4张图片

 

你可能感兴趣的:(深度学习踩坑记录)