跑深度学习时遇到的各种问题

很基础的问题,但是当时难倒了我这个菜鸡
可能会有错,仅供参考哈

2、python 一个.py文件如何调用另一个.py文件中的类和函数
a、在同一个文件夹中
调用函数:1)import A A.add(1,2)
2)from A import add add(1,2)
调用类:
1)from A import A a=A(2,3) a.add( )
2)import A a=A.A(2,3) a.add( )
b、在不同的文件夹中
import sys
sys.path.append(r’E:\python\project’)
import A
a=A.A(2,3)
a.add( )

3、在服务器中报错:ModuleNotFoundError: No module named ‘coloredlogs’
直接在服务器上安装coloredlogs,
在命令行运行 pip install coloredlogs --user(一般权限不够就+–user)

4、在跑代码时一定要看readme这个文件
--------------- 运行代码的命令-------Run Command-------
python main.py --no_epoch 10000 --batch_size 8 --train_dir
并且一般都要下载数据集,自己下载!

5、显示tensorflow差某些“contribute”等组件
原因就是tensorflow的版本过高,按照需要降低版本(readme.txt)
一般安装1.6.0即可:pip install tensorflow==1.6.0 -i https://pypi.douban.com/simple

6、python main.py --no_epoch 10000 --batch_size 8 --train_dir

python main.py --no_epoch 10000 --batch_size 8 --train_dir <D:\my_subject\mindboggle\example_mri_data\test.nii>

7、RuntimeError: torch.cuda.FloatTensor is not enabled.
将当前脚本中的.cuda改为.cpu

8、Could not find a version that satisfies the requirement torch == 1.3.0 (from version:0.1.2. 0.1.2.post1. 0.1.2.post2)
No matching distribution found for torch == 1.3.0
三种解决方法:
a)更新pip python -m pip install --upgrade pip(没用,pip已经是最高的版本)

 b)pip install --user torch==1.3.0 -f https://download.pytorch.org/whl/torch_stable.html -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com(貌似有用,参见博客https://blog.csdn.net/night098/article/details/104324810/)

9、在服务器在安装sklearn报错,
直接改为安装Scikit-Learn(sklearn的全称)

https://blog.csdn.net/EWBA_GIS_RS_ER/article/details/84671406?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare

https://www.cnblogs.com/RB26DETT/p/11620693.html

10、一般都是在服务器上跑代码,在本地的pychram上改代码,再用xftp进行上传

11、 from sklearn.covariance import GraphLassoCV
ImportError: cannot import name ‘GraphLassoCV’
一般情况下,都是因为命名问题所导致得,找不到当前得graphlassocv
解决办法:直接在sitepackges找到sklearn得文件夹,再打开covariance文件夹,看一下有没有这个graphlassocv,
在我的路径下没有graphlassocv,只有_graph_lasso
将代码改为from sklearn.covariance import _graph_lasso

12、ERROR: Cannot uninstall ‘scikit-learn’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
找到scikit-learn *.egg-info,一般就在usr/lib/pythonX或者其他安装目录如:/home/dhy/anaconda3/lib/python3.6/site-packages等路径里,可以直接在/目录下全局搜索。然后删掉即可。

其他的package遇到这种情况方法也通用,搜索.egg-info,找到后删除即可

13、如果很多安装了import不了,就尝试使用.whl得文件安装方式进行安装

14、在服务器中,激活自己得虚拟环境之后,可以使用pip进行安装
pip install pytorch=1.4.0 -i https://pypi.douban.com/simple

15、在服务器中安装torch-sparse得cuda版本与torch 安装得cuda版本不同,造成不匹配
在网站 https://pytorch-geometric.com/whl/torch-1.5.0.html
下载相应得cuda版本得torch-sparse文件,,安装命令:pip install torch_sparse-0.6.4+cu102-cp36-cp36m-linux_x86_64.whl

16、NameError: name ‘math’ is not defined
第一种情况:没有引入math模块(没有成功引入某些模块或者函数)——————import用法不当
直接添加import math
preproces_adj缺少define,在前面加上引用得源.py,写成utils.preproces_adj

17、from theano.tensor.signal.pool import downsample——> ImportError: cannot import name downsample

          查找资料发现downsample已经改为pool将上面代码改为from theano.tensor.signal import pool
         代码中运用到downsample的地方也要改掉

子采样

pooled_out = downsample.max_pool_2d(
input=conv_out,
ds=poolsize,
ignore_border=True
)
这里直接将downsample改为pool会出错,因为里面相应的函数有变化
查看pool.py的源码,发现downsample.max_pool_2d()与pool. pool_2d()函数功能相同,用ws代替ds

子采样

pooled_out = pool.pool_2d(
input=conv_out,
ws=poolsize,
ignore_border=True
)

18、在服务器上运行 (xshell)显示 File"/home/tj/.conda/envs/TJ/lib/python3.6/site-packages/lasagne/layers/pool.py"

解决办法:直接在xftp里面里面打开这个路径,然后进行修改即可

19、一旦找不到某种组件或者库,直接在下面得网址进行搜索即可(不仅仅是python ,freesurfer也可以)

https://pypi.org/project/freesurfer-surface/

20、打开surf文件夹中得 lh.white,用记事本打开是乱码
第一步:安装freesurfer_surfce pip install --user freesurfer-surface
第二步: 运行代码
from freesurfer_surface import Surface
surface = Surface.read_triangular(‘HLN-12-1.white’)
print(surface.vertices)
print(surface.triangles)

21、运行readvertices.py有时候显示AssertionError

22、from certifi import where 显示certifi没有where这个选项
直接在anaconda promt里面输入:pip install certifi==2018.1.18即可解决

23、 raise RuntimeError(‘Could not locate METIS dll. Please set the METIS_DLL environment variable to its full path.’)
RuntimeError: Could not locate METIS dll. Please set the METIS_DLL environment variable to its full path.

24、RuntimeError:CUDA error:out of memory【https://www.it610.com/article/1288577927021142016.htm】
默认使用得GPU内存不足
在操作系统输入如下:查一下memory现在得状态:nvidia-smi
在要运行得python 文件中添加以下内容:
import os
os.environ[“CUDA_VISIBLE_DEVICES”]=‘1’
还有另外一种修改方法:将batch_size修改为较小得值

pytorch出现RuntimeError: CUDA out of memory.
无论batch-size设置多小也是会出现这个问题的,我的原因是我将pytorch升级到了1.0.1,然后出现了这个问题
RuntimeError: CUDA out of memory. Tried to allocate 823.88 MiB (GPU 0; 7.93 GiB total capacity; 6.96 GiB already allocated; 189.31 MiB free; 10.26 MiB cached)
你可以监控一下之GPU的使用情况 ,使用下面的命令
watch -n 0.1 nvidia-smi
在期间会出现GPU的使用率达到99%,估计是没有释放GPU内存吧。
解决方法
我出现问题的代码,在输入到网络里面 ,如下:output = net(input,inputcoord)
将这个代码修改成
with torch.no_grad():
output = net(input,inputcoord)
附带
在调试低版本的pytorch源程序的时候也会出现警告
UserWarning: volatile was removed and now has no effect. Use with torch.no_grad(): instead.也可以在前面添加下面的解决这个问题
with torch.no_grad():

25、ImportError: libcusparse.so.10.0: cannot open shared object file: No such file or directory
由于是自己安装了anaconda,并且是在自己得虚拟环境中运行得,所以会差这个组件
从/usr/local/cuda/lib64中查找libcusparse.so.10.0然后将其移动到我得虚拟环境中去/tj/anaconda3/lib里面即可

26、RuntimeError: No such operator torch_sparse::cuda_version
应该是在torch_sparse与cuda得版本不匹配造成得,
由于cuda得版本是10.0 安装得torch是1.3.1 则通过命令安装torch_sparse
pip install torch-sparse==0.4.3

27、如果已经安装了torch,用本地得方法安装torchvision时,可能需要另外得版本
针对上述情况,则直接用pip install torchvision这种方法来安装,这样可以根据已经安装得torch版本来匹配适合得torchvision(其实没有报错说非要安装torchvision就可以不管,毕竟哈哈哈哈没报错)

28、报错:ModuleNotFoundError: No module named ‘torch_scatter’
暂时直接用命令进行安装: pip install torch-cluster==1.4.5

29、from torch_sparse import SparseTensor ImportError: cannot import name ‘SparseTensor’

解决办法: This issue seems to be solved by upgrading torch-sparse or downgrading torch-geometric(1.3.2).

24、Cannot uninstall ‘html5lib’. It is a distutils installed project and thus we cannot accurately…
原因:可能的原因,可能之前的第三方库是通过离线文件方式安装的, 删除相应的egg-info后可以尝试解决。
解决办法:anaconda3——lib——site-packges——删除html5lib-1.0.1.dist-info
(若是在linux中,中间还有个步骤:在lib后面还有个python3.6)

25、服务器得cuda版本是10.0,但是安装了tensorflow1.6.0-gpu,出现错误:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
分析:由于更改cuda得版本风险太大,但是现在得tensorflow版本与cuda得版本也不匹配,所以直接重新安装tensorflow的版本
现在有以下几个版本得进行选择:tensorflow-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl
tensorflow-1.14.0-cp36-cp36m-manylinux1_x86_64.whl
tensorflow-1.13.1-cp36-cp36m-manylinux1_x86_64.whl(ok)

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在CentOS上运行深度学习任务是完全可行的。以下是一些步骤和建议供您参考: 1. 安装CUDA和cuDNN:首先,您需要根据您的GPU型号安装适当的NVIDIA驱动程序。然后,安装CUDA和cuDNN,这是深度学习框架所需的GPU加速库。您可以从NVIDIA官方网站下载对应版本的CUDA和cuDNN,并按照它们的文档进行安装。 2. 安装深度学习框架:常用的深度学习框架如TensorFlow和PyTorch都支持在CentOS上运行。您可以使用pip或conda包管理器来安装它们。确保选择与您安装的CUDA和cuDNN版本兼容的框架版本。 3. 创建虚拟环境:为了避免与系统中其他软件包发生冲突,建议在CentOS上使用虚拟环境来运行深度学习任务。您可以使用virtualenv或conda环境管理器来创建和管理虚拟环境。 4. 安装依赖项:在虚拟环境中,您可能需要安装一些额外的依赖项,例如numpy、scipy等。您可以使用pip或conda来安装这些包。 5. 配置GPU加速:确保您的深度学习框架正确地配置了GPU加速。这通常涉及设置环境变量或修改配置文件。请参考框架的官方文档以获取更多信息。 6. 测试运行:在安装和配置完成后,您可以尝试运行一个简单的深度学习任务来验证一切是否正常。您可以使用一些示例代码或自己编写一个简单的模型。 请注意,深度学习任务对硬件资源要求较高,特别是对GPU的要求较高。确保您的CentOS系统具备足够的硬件配置来支持深度学习任务的运行。另外,根据您选择的框架和任务,可能还需要安装其他特定的软件包和驱动程序。 希望这些步骤对您有帮助!如果您有具体的问题遇到困难,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值