ubuntu安装pytorch及使用过程的报错记录

安装pytorch1.4-cuda10.1

安装命令

conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch

import torch报错1

ImportError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory

解决办法:
参考:search .so

  1. 在anaconda安装路径搜索
find anaconda3/ -name libmkl_intel_lp64.so

搜索结果如下:
在这里插入图片描述

  1. 添加环境变量
    在~/.bashrc中加入一行
export LD_LIBRARY_PATH=/root/anaconda3/lib/libmkl_intel_lp64.so:$LD_LIBRARY_PATH

更新环境变量

source ~/.bashrc

查看添加的环境变量

echo $LD_LIBRARY_PATH

解决。

import torch报错2

ModuleNotFoundError: No module named ‘torch’
解决办法

报错3:undefined symbol: _ZN2at19UndefinedTensorImpl10_singletonE

运行fasterrcnn的时候忽然报错,之前不报错。
undefined symbol: _ZN2at19UndefinedTensorImpl10_singletonE
解决办法:把项目的lib文件夹下的build文件夹清空,重新进行编译

cd lib
rm -rf build/
python setup.py build develop

报错4:RuntimeError: set_sizes_contiguous is not allowed on a Tensor created from .data or .detach().

在这里插入图片描述

解决办法:

参考报错提示进行修改,去掉data。

报错5:编译报错,RuntimeError: The detected CUDA version (9.0) mismatches the version that was used to compile PyTorch (10.2). Please make sure to use the same CUDA versions

检查了一下,发现CUDA_HOME这个环境变量已经改成了cuda9,nvcc的版本也变成了cuda9,但是在虚拟环境中使用conda list和进入命令行之后使用torch.__version__两种方式查看得到的pytorch版本不同,感觉可能是当前虚拟环境装了两个pytorch,再用pip list进行查看,果然发现pip还装了一个torch。

解决办法:

两个pytorch卸载掉不需要的一个即可;

报错6:THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1524586445097/work/aten/src/THC/THCGeneral.cpp line=844 error=11 : invalid argument

使用2070,torch0.4,cuda9.0的时候出现上述报错,由于不影响运行,就没管它。

报错7:cudaCheckError() failed : no kernel image is available for execution on the device

解决办法:
参考CUDA Error: no kernel image is available for execution on the device: No error 错误如何处理,发现是算力不匹配,由于我的显卡是2070,cuda版本为9.0,打开用于编译项目的make.sh,找到如下内容
在这里插入图片描述
添加两行得到如下内容
在这里插入图片描述
解决问题。

报错8:Unexpected key(s) in state_dict: “RCNN_base1.1.num_batches_tracked”, "RCNN_base1.4.0.bn1.num_batches …

解决办法:
参考Pytorch的12个坑里的第9条。
错误原因是由于训练和测试所用的pytorch版本(0.4.1版本前后的差异)不一致引起的,偷懒的做法是将测试脚本中读取模型的load_state_dict的strict参数置为False。

load_state_dict(torch.load(weight_path), strict=False)

即可解决问题。

报错9:训练时out of memory

解决办法:参考办法,在训练的每个step清理显存(主要是清理了loss)

del loss,rpn_loss_cls,rpn_loss_box,RCNN_loss_cls, RCNN_loss_bbox
torch.cuda.empty_cache()

其他

conda报错

conda update conda

报错

PackageNotInstalledError: Package is not installed in prefix.
prefix: /root/anaconda3/envs/da_fasterrcnn_krumo
package name: conda

解决办法:

退出当前虚拟环境,回答base环境再运行update命令。

conda deactivate

[1]:ImportError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
[2]:pytorch版本,cuda版本,系统cuda版本查询和对应关系
[3]:解决PyTorch与CUDA版本不匹配的问题
[4]:pytorch与cuda对应关系
[5]:CUDA Error: no kernel image is available for execution on the device: No error 错误如何处理

您好!关于PyTorch安装报错处理,我可以帮助您解答。首先,您可以按照以下步骤安装PyTorch: 1. 确保已经安装了Python。PyTorch支持Python 3.6及以上版本。 2. 打开命令行终端,使用pip或conda命令安装PyTorch。如果您使用pip,可以运行以下命令: ``` pip install torch torchvision ``` 如果您使用conda,可以运行以下命令: ``` conda install pytorch torchvision -c pytorch ``` 在安装过程中,可能会遇到一些报错。以下是一些常见的报错及其处理方法: 1. 报错信息:`ERROR: Could not find a version that satisfies the requirement torch`。 处理方法:请确保您输入的命令正确,并且网络连接正常。如果网络连接不稳定,可以尝试使用其他源进行安装。 2. 报错信息:`ModuleNotFoundError: No module named 'torch'`。 处理方法:这通常表示PyTorch未成功安装。请检查安装命令是否正确,并尝试重新安装PyTorch。 3. 报错信息:`CUDA out of memory`。 处理方法:这表示您的显存不足以运行当前的模型或数据。您可以尝试减少输入数据的大小,或使用更小的模型。另外,您也可以考虑使用较大的显存或在云平台上运行模型。 4. 报错信息:`ImportError: DLL load failed: The specified module could not be found`。 处理方法:这可能是由于缺少一些依赖库导致的。您可以尝试更新您的操作系统和显卡驱动程序,并重新安装PyTorch。 如果您遇到其他报错,可以提供具体的报错信息,我将尽力帮助您解决问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_mountainriver

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值