conda搭建旧版本pytorch虚拟环境——DASR复现

 ​​​​​前言:Windows10下复现DASR模型时,在搭建环境的过程中遇到了一些问题。附:DASR需要python=3.6, pytorch=1.1.0, numpy, skimage, imagio, matplotlib, cv2。

搭建旧版本的pytorch虚拟环境常用有两种方式:

方法一:conda 命令方式,可以参考如下链接

安装老版本的Pytorch-腾讯云开发者社区-腾讯云 (tencent.com)

举例如下

# CUDA 9.2
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=9.2 -c pytorch

# CUDA 10.1
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch

当遇到直接使用命令无法成功安装pytorch的情况,就需要使用方式二。

方式二:conda+pip+whl文件 灵活组合

搭建torch虚拟环境需要三个主要包:torch+torchvision(cv工具包)+cudatoolkit。

首先,通过两个表确定版本对应关系,cuda(CUDAToolkit)与torch之间(参考下表)

conda搭建旧版本pytorch虚拟环境——DASR复现_第1张图片

        pytorch与torchvision、python之间(参考下表)

Anaconda如何配置各版本Pytorch

         完整对应关系可查询这个链接:GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer Vision

例如,现在要安装torch=1.1.0,其对应的torchvision=0.3.0,cuda 8.0、9.0、10.0都支持。        

然后,下载需要的whl文件

        从pytorch官方网站:https://download.pytorch.org/whl/torch_stable.html下载torch和torchvision的whl文件,注意前缀分清cpu版本和cuda版本。例如这里我需要python3.6使用的torch1.1.0,它对应的torchvision版本是0.3.0,cuda选择10.0,即选红框标出的两个。

图中文件名含义:cu100表示cuda10.0,cp36表示python=3.6,后面表示amd64的windows系统。

conda搭建旧版本pytorch虚拟环境——DASR复现_第2张图片conda搭建旧版本pytorch虚拟环境——DASR复现_第3张图片

最后,执行安装

# 激活创建好的虚拟环境并安装python3.6,此处省略
# conda方式安装cudatoolkit 
conda install cudatoolkit=10.0

# 先使用cd命令进入whl所在的目录
pip install torch-1.1.0-cp36-cp36m-win_amd64.whl
pip install torchvision-0.3.0-cp36-cp36m-win_amd64.whl

验证:torch.cuda.is_available() 返回True,说明pytorch安装成功 。

 继续使用pip安装其他的包即可。

注意事项:

第三方包的相互依赖以及多版本同时存在:比如说同一个虚拟环境里同时有numpy=1.16,numpy=1.19。当numpy作为其他包(例如opencv)的依赖项时,多个版本会冲突。可以多次使用pip uninstall numpy直至卸载干净,再安装需要的版本。opencv4.4.0需要numpy1.19的支持,若同时存在其他版本,就会导致无法使用。

清华源里pip源比conda源更完整:清华的Anaconda镜像源,有很多包的版本没有更新,仍停留在几年前的版本。找不到需要的版本,可以使用pip搜索安装,或是对于已经安装的包执行更新:pip install -U $package_name

conda install命令:在执行时,会自动把安装计划和可能引起冲突的已安装包列出,确定执行y之前一定要仔细检查

其他问题:

ValueError: Cannot load file containing pickled data when allow_pickle=False

解决方式:在对应报错的numpy.load()中加上allow_pickle=True。

opencv 安装失败,或是安装后无法import。

安装可以使用whl文件的方式安装,无法正常使用是因为numpy的版本不满足要求。可尝试更新numpy版本,但要一并更新其他依赖于numpy的包。

参考博客:

(23条消息) Pytorch安装,这一篇就够了,绝不踩坑_孔德浩的博客-CSDN博客

你可能感兴趣的:(conda,pytorch,深度学习,python)