最近准备参加CADC的比赛,需要应用深度学习。我的电脑已经配置了Anaconda,想在此基础上配置pytorch。踩了一波雷之后总算是完成了。
注意:本文默认您的电脑上已经安装了Anaconda
在开始菜单中找到Anaconda3(64-bit)文件夹,打开Anaconda Prompt,或者也可以从Anaconda Navigator界面打开cmd.exe
在进入Prompt后,默认的是你的base环境。为了方便管理,我们在此创建一个新的虚拟环境,用来使用pytorch框架。
输入conda create -n 虚拟空间名称 python==版本号
,python版本号要根据你自己电脑的python版本确定。我的创建命令是:conda create -n pytorch python==3.7
注意:在默认条件下,新创建的虚拟环境会被默认安装在你conda目录下的envs文件目录下。
你可以通过这条命令指定你的文件夹:conda create -p PATH(完整的文件夹路径) python==版本号
输入conda info -e
可以查看你当前conda中的环境。若创建成功,prompt中显示如下:
输入conda activate 环境名
可以进入新环境
环境管理的技巧:
conda deactivate
可以退出当前虚拟环境,回到base中
conda remove -n 环境名称 name --all
可以删除无需使用的环境
这个环节是比较折磨人的哈哈,做好准备哦
进入pytorch官网,根据自己的情况选择合适的版本。若您的电脑无独立显卡的话,“CUDA”处选择“None”即可。我的选择如下:
复制从“conda”处起的命令行,在你新创建的环境中安装即可。
==注意:==由于网络原因,有的小伙伴可能会在下载pytorch1.x.x这个包失败。以下提供几种解决方法:
1.临时更改timeout时间
当错误提示为timeout时,可以输入conda config --set remote_read_timeout_secs 1000.0
来延长时间。让子弹飞一会~
2.从官网链接或清华源等处下载在本地安装
此时要注意下载的pytorch和torchvision版本要一致。下载完成后运行:conda install --use-local FILEPATH
安装即可。
3.修改download.py文件(比较麻烦)
此方法来源于知乎用户:木叶禅
https://zhuanlan.zhihu.com/p/212195072
同上,从别处下载好文件后放入anaconda安装根目录的pkgs文件夹内。但如果此时重新输入安装命令,conda仍然会重新下载。通过修改内置文件,即可让conda识别手动下载的文件。
python -c "from conda.gateways.connection import download; print(download.__file__)"
。from ...base.constants import CONDA_TEMP_EXTENSION
tmp_file_path = target_full_path + CONDA_TEMP_EXTENSION
if exists(tmp_file_path):
print("\n[Download patch] file exists: %s", tmp_file_path)
checksum_ok = True
if sha256 or md5:
builder = hashlib.new("sha256" if sha256 else "md5")
checksum = sha256 if sha256 else md5
with open(tmp_file_path, 'rb') as f:
for chunk in iter(lambda: f.read(4096), b''):
builder.update(chunk)
actual_checksum = builder.hexdigest()
if actual_checksum != checksum:
print("\n[Download patch] cached file checksum mismatch: %s (%s != %s)",
checksum_type, actual_checksum, checksum)
checksum_ok = actual_checksum == checksum
if checksum_ok:
from ..disk.update import backoff_rename
backoff_rename(tmp_file_path, target_full_path, True)
if progress_update_callback:
progress_update_callback(1.0)
print("\n[Download patch] using cached file instead of download", target_full_path)
return
[Download patch] file exists:......
以及[Download patch] using cached file instead of download:......
这两条。如果出现了,说明解决方法生效,conda将会利用本地的安装包安装。Error: No Such FIle or directory
的错误。将添加的函数注释后即恢复正常。当安装完成(done)后,命令行依次输入python
,import torch
。若无报错,则基本框架安装成功。
此时若直接打开Jupyter Notebook,创建python文件并import torch
,会得到以下惊喜:
ModuleNotFoundError:No modele named 'torch'
conda install nb_conda
安装nb_conda。conda install ipykernel
安装ipykernel。参考博文:https://blog.csdn.net/cqldqsb/article/details/104550999/
我是按照sjtucq这位老哥的教程来做的。但是途中遇到了一些不一样的坑。因此汇总了一下并做了总结分享。
昨天的课程上接触了pycharm,感觉利用anaconda管理包+pycharm来写代码会更舒服。基于conda时,pycharm中创建环境和包的添加可以在GUI界面完成,对入门的朋友可能会更为友好。