Pytorch框架学习---小技巧更新ing......

本节主要讲述运用Pytorch框架时的一些额外的小知识点,例如如何使用anaconda设置虚拟环境、深度学习模型的正常流程图、如何输出模型框架及其参数等等。

会一直持续更新整理这些小技巧,方便后来者查看学习。

1.使用anaconda设置虚拟环境(ubuntu系统)

  鉴于最近复现别人的代码,所需要的环境都不一致,故采取虚拟环境,这样就可以切换自如😉!:话不多说,直接上流程图!!

(1)第一步:安装anaconda

① 打开官网https://www.anaconda.com/download/#linux,下载对应平台的版本:

② 进入安装包.sh文件所在的文件夹,打开终端,输入:

bash 该文件名.sh

③ 检查是否安装成功

  • 终端输入 python,如果有anaconda标识,即成功

  • 终端输入 conda -V,如果出现conda 4.5这样的信息,则代表环境配置成功(安装的时候貌似系统直接帮你配置了)

(2)第二步:创建虚拟环境(我是在pycharm的终端运行的

  ①先创建虚拟环境

conda create -n 环境名称 python=版本号

# 如:conda create -n my_env python=3.5

conda create -n xxx --clone xxx(已有环境)  # conda环境的复制

  ②然后进入该虚拟环境

conda activate my_env  # 进入  貌似可能对应conda版本???也可以采用source activate my_env 激活进入

conda deactivate  # 退出当前虚拟环境

  补充:

conda info -e  # 查看当前ubuntu下有哪些虚拟环境
conda remove -n 环境名称 --all # 删除虚拟环境
conda install cudatoolkit=10.1
conda install cudnn=7.6.5  # or conda install cudnn 自动匹配版本

(3)第三步:在该虚拟环境下,设置所需要的安装包(pytorch、torchvision)

  这里比较复杂了,只以pytorch安装为例:

(利用conda install相关包时,可能会出现没有该依赖包的情况,例如:conda install opencv-python,就无法安装,此时应当直接输入conda install opencv,所以大家可以依实际情况自行百度寻找对应的安装代码)

  由于网速巨慢,采用conda install pytorch torchvision cudatoolkit=10.0 -c pytorch(官方给的安装代码,根据自己实际情况选择版本号)时,安装失败,出现如下提示:

  将该网址复制到浏览器中,会自动下载一个.tar.bz2文件,下载完成后,进入该文件所在位置,打开终端:

conda install --offline xxxxx.tar.bz2  # 离线安装完毕
# 如果是下载whl文件,通过 例如以下命令离线安装
pip install torch-1.4.0-cp37-cp37m-manylinux1_x86_64.whl 

或者采用镜像源打开pycharm的终端,输入:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes#下载时显示文件来源

conda install pytorch torchvision cudatoolkit=10.0  # 注意这里就没有-c pytorch了!!!!!!!!

  安装完成!,输入conda list就可以查看当前虚拟环境下所安装的依赖包有哪些。
上面对应的命令可以查看官方对应版本号命令

(4)第四步,测试是否安装好环境,同时查看cuda(是本地还是虚拟环境中的)

(要注意!!!!显卡和pytorch版本也有联系!!!老泪纵横~)

import torch
print(torch.cuda.is_available())
print(torch.version.cuda)

(5)conda创建虚拟环境或install报错“ProxyError”

  具体报错:“ProxyError: Conda cannot proceed due to an error in your proxy configuration.Check for typos and other configuration errors in any '.netrc' file in your home directory,any environment variables ending in '_PROXY', and any other system-wide proxy configuration settings.”

解决方法:本人没有开代理,但是调用了清华镜像源,最后发现:删除该镜像配置文件即可:

rm .condarc

2.模型搭建的正常流程

3.输出网络模型及其参数大小

from torchsummary import summary   # 引入torchsummary包中summary函数

# ===============Step 2/5 构建模型==================
net = Handwritten_Model(num_class=class_num)
net.init_weight()  # Handwritten_Model模型中自己定义的初始化权重函数

'''打印网络'''
summary(net, input_size=(3,75,75), device='cpu')  # 注意device选项,默认是'cuda'

  输出结果如下,可以看到总共输出 五个部分 :网络层架构、每一层的输出大小、每一层的参数、总网络参数、所耗内存大小:

4.如何保证消融(改进)实验更具对比性?(固定初始化参数)

  在主函数下,设置固定随机种子(运行数据预处理之前)。注意:这里设置固定后,并不是说在这一次运行下每次随机数都一样,而是说,每次运行的每次随机数是一样的。

# ===============设置参数==================
def setup_seed(seed):
    torch.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)
    np.random.seed(seed)
    random.seed(seed)
    torch.backends.cudnn.deterministic = True    # 一定要加上这一行

set_seed(20)

posted @ 2020-07-18 16:00  steven_zhao1001  阅读(614)  评论(0编辑  收藏  举报