赞
踩
困扰我两天的问题终于在各大博主的指导下解决,差点就去叨扰师父了…
在虚拟环境中安装pytorch GPU版本,创建好环境以后,一定要切换到该环境再安装GPU版本,
否则
1.会在base环境中出现一个cpu(之前安装的)torch,和一个GPU torch,会导致kernel python3.7无法正常import torch(报错没记下来,脑壳痛),原本是可以引入cpu版本的。好像是因为两者不能在同一环境共存,需要卸载其中一个。
#开启和关闭虚拟环境的命令
conda activate pytorch_gpu#开启虚拟环境
conda deactivate#关闭虚拟环境
2.更糟糕的是,在等待好久之后,安装完成之后,会发现什么也没做…
未来避免等待很久,这里安装的时候可以使用清华镜像,但是,使用镜像需谨慎!可能会缺胳膊少腿儿的。我后来就缺少个模块,导致服务器一直无法启动…
可用中科大镜像,依次执行
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes
然后官方找到pytorch下载命令,一定去掉-c pytorch
# conda install pytorch==1.0.0 torchvision==0.2.1 cuda80 -c pytorch
conda install pytorch==1.0.0 torchvision==0.2.1 cuda80
否则,我昨天就感觉清华在欺骗我(加上-c pytorch就还是官网资源下载)
然后,如果出现缺胳膊少腿,就使用撤了吧!
conda config --remove-key channels#切换回官方镜像
其实
昨天就在anaconda prompt上测试成功了,但是在jupyter上没法成功。
①激活指定虚拟环境
②安装ipykernel模块(如果没有)conda install ipykernel
(有人说这里要加一步:在虚拟环境下创建kernel文件:conda install -n pytorch ipykernel,我好像没有用也成功了)(还是用一下吧 我反正没成功!)
③重启jupyter notebook,应该能在New下和Kernel-Change Kernel下看到虚拟环境
④如果还不能,那就手动把自己的环境添加到ipython的kernel里:
python -m ipykernel install --user --name pytorch(虚拟环境名称) --display-name “Python (pytorch)” (display-name是希望在jupyter notebook中显示的名称)
原文链接:https://blog.csdn.net/qq_39540454/article/details/109119628
在找到这篇博客之前,我居然把上面的都执行了…
解决方案:
由于python版本与numpy版本不匹配,降低numpy版本即可。
conda uninstall numpy
conda install numpy==1.18.1
这个问题很迷,在prompt里面我就发现有这个报错了,但是不影响。有的博客说要把这个地址的pythoncom38.dll删掉,我仔细一想,这个目录不再evns中,删了它岂不是anaconda就没了。于是我没管他,解决完别的问题之后,他也好了。
测试:
x=torch.randn(2,3)
y=x.cuda()#放到GPU加速 cuda:0表示在GPU中
print(x)
print(y)
print(x.device)
print(y.device)
输出:
tensor([[ 1.3193, 1.7000, -0.1058],
[-0.0333, 0.1859, 0.6212]])
tensor([[ 1.3193, 1.7000, -0.1058],
[-0.0333, 0.1859, 0.6212]], device=‘cuda:0’)
cpu
cuda:0
#没有使用GPU时
x=torch.zeros(100,100,100,10,10)
y=torch.ones(100,100,100,10,10)
import time
start=time.process_time()
z=x**y
end=time.process_time()
print(end-start)
1.1875
#使用GPU时
x=x.cuda()
y=y.cuda()
import time
start=time.process_time()
z=x**y
end=time.process_time()
print(end-start)
0.03125
62.5倍差距。
bug千万条,咱也不知道。以上报错是交叉重复出现的,未知其中的逻辑。
https://blog.csdn.net/weixin_39777626/article/details/102969508
https://blog.csdn.net/qq_39540454/article/details/109119628
https://blog.csdn.net/mrjkzhangma/article/details/102931152
唉,好多问题也没记下来。
咱也没想到,重新安装系统重新配置环境,出现了一个上次未记录的问题。
什么指定模块找不到…好在找到一个办法可以解决,一定要记下来。
不用1打开,不然会显示找不到内核,使用2打开,切换到虚拟环境,然后输入命令jupyter notebook
即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。