20220328:清华镜像源你害人不浅啊
起因:cuda + pytorch检测不到cuda,torch.cuda.is_available()返回false。
过程:显卡驱动、cuda、torch版本各种问题都排查了无果。
解决:看到这篇文章https://www.jb51.net/article/205490.htm,发现清华镜像源下载的torch是cpu版本的。。。cpu版本的。。。版本的。。。的。。。conda命令里面加-c pytorch即可解决
教训:官网给的命令是有道理的,镜像源不可过度信任。。。
20220726:float也分三六九等
报错:RuntimeError: expected scalar type Float but found Double
原因:numpy的默认dtype是float64(np.float),而torch默认是float32(torch.float)
解决:torch.float一下
20230309:终究逃不过tensorflow
报错:找不到 libcudnn.so.8,然而我已经在conda环境里面安装了cudnn
原因:tf不会自动链接到虚拟环境里面的lib,去/usr/local/里面找了,没找到
解决:一种方式是在global里面装cudnn,手动装相当麻烦而且需要root权限。或者是已经在环境里装好了(比如用conda install -c nvidia cudnn
安装,路径是~/miniconda3/envs/${env_name}/lib/libcudnn.so.8
),其中env_name
是你的环境名称,然后把这个lib加进path里:LD_LIBARY_PATH=~/miniconda3/envs/env_name/lib:$LD_LIBRARY_PATH
就可以找到这个库了。
参考:无
20230309:再次逃不过tensorflow
报错:书接上文,虽然找到了库但是报错:
Node:'XXX/1st_Conv1D/Conv1D'
DNN libraryisnotfound.
原因:cudnn版本和tf版本不匹配。
解决:去官网Build from source | TensorFlow找一下匹配的版本,用conda安装,然后就行了。
参考:tensorflow - How to solve Conv1D DNN library is not found? - Stack Overflow