首先声明一点,使用GitHub上的程序一定保证路径是正确的,今天遇到的两个问题都是因为路径的问题
- 首先是Permission denied: ‘/work’ 的问题
原因:
下载下来程序以后直接运行,没有修改保存以及数据库的路径,导致找不到这个地址,才会报错。
一开始以为是创建路径有问题,因为是mkdir函数那里报的错,后来改了路径,竟然好了,神奇。 - 训练模型是提示找不到文件,FileNotFoundError: [Errno 2] No such file or directory:xxxxx
原因:
我下载下来程序和数据集之后,运行解压脚本,生成了base.json文件,后来我改了文件夹的名称(原来是很长有空格的那种名字),程序是读取json文件里的路径来实现对数据库的访问读取,所以这下肯定找不到了。
一度怀疑是路径名太长。但其实一开始没有仔细看报错信息,里面确实展示了数据的具体路径仍然是最初的路径名
解决办法: 于是重新运行解压脚本,生成新的json,里面的路径和现在数据集存放的位置一致了,于是顺利运行。 - cuda找不到没有可用的cuda
原因:
之前update更新了内核,需要在内核版本变动之后重新生成 内核以外驱动 的新的模块
解决过程:
先在程序里加了一句print(torch.cuda.is_available())
返回false,说明cuda不可用
nvidia-smi也不起作用,提示无法连接NVIDIA驱动:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
于是搜索之后解决这一问题。
具体操作就是
sudo apt-get install dkms
sudo dkms install -m nvidia -v 460.80