分割模型nnUNet学习日记(二):常见问题报错解决方案

错误一:CUDA error: no kernel image is available for execution on the device

在执行训练代码后报错:CUDA error: no kernel image is available for execution on the device
这是因为CUDA和pytorch不匹配,需要卸载pytorch后重装。
根据对应的版本到torch的官网找自己版本的安装命令
也可在此网站找到对应版本的whl文件,下载后离线安装,具体安装方法可参考:Python模块/包/库安装(6种方法)

错误二:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found

在首次执行完训练代码后,可能会报此错误。这是因为默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.22,你有可能缺少其它版本的比如3.4.23
在这里插入图片描述解决方法如下:
(1)首次在终端查看libstdc++.so.6目前有哪些版本的GLIBCXX

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

分割模型nnUNet学习日记(二):常见问题报错解决方案_第1张图片
这里只到3.21,可以确定是缺失了GLIBCXX_3.4.22这个文件

(2)查看当前系统中其它的同类型文件,找到一个版本比较高的

sudo find / -name "libstdc++.so.6*"

分割模型nnUNet学习日记(二):常见问题报错解决方案_第2张图片
比较多,我就选了一个版本较高的使用之前的指令看看其是否包含需要的版本,我这里是3.22。

strings /home/amax/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6.0.29 | grep GLIBCXX

分割模型nnUNet学习日记(二):常见问题报错解决方案_第3张图片(3)复制到指定目录并建立新的链接

# 复制
sudo cp /home/amax/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/    
# 删除之前链接
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
# 创建新的链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

之后在终端执行训练代码成功运行

你可能感兴趣的:(医学影像处理,学习)