困扰我两天的问题终于在各大博主的指导下解决,差点就去叨扰师父了…
安装坑在虚拟环境中安装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
在找到这篇博客之前,我居然把上面的都执行了…
importing the numpy C-extensions failed. This error can happen for many reas…解决方案:
由于python版本与numpy版本不匹配,降低numpy版本即可。
conda uninstall numpy conda install numpy==1.18.1anaconda打开jupyter报错,无法定位程序输入点解决办法
这个问题很迷,在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
唉,好多问题也没记下来。



