2021年深度学习入门必备手册

2021 年 7 月 20 日 极市平台
↑ 点击 蓝字  关注极市平台

作者丨派派星
来源丨CVHub
编辑丨极市平台

极市导读

 

本文总结了一系列关于Anaconda的环境管理和相关报的操作,附有详细代码及步骤。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

引言

Anaconda是一个用于集成包和环境的管理工具,致力于简化软件管理系统和部署。此外我们还可以利用conda指令对虚拟环境进行方便的创建、激活、删除、退出和配置。pip 则是Python 包的管理工具,提供了对Python 包的查找、下载、安装、卸载的功能。

由于笔者在日常的开发使用过程中,时不时会碰到对一些环境的管理和相关包的一些操作,然而网络上充斥着大量老旧且无效解决方案的博客,有时甚至会使原本已经配置好的炼丹装置毁于一旦,俗称“坑爹”。以下方案均经过笔者的有效验证,可放心使用。

Anaconda安装、卸载、复制

安装

Windows系统直接从官网下载安装即可,记得将路径添加到环境变量中去,或者安装时候选择“Add to path”。

Linux或OS系统,下到火狐浏览器安装下相应的文件,进入到指定目录,执行以下指令即可:

下载的conda版本有所不同,按需下载
bash Anaconda3-xxx.xx-Linux-x86_64.sh 

卸载

Windows系统:

Ctrl+S → 搜索控制面板 → 程序卸载 → 右键移除  

Linux或OS系统:

rm -rf ~/miniconda 或者 rm -rf ~/anaconda  

复制

Linux系统下:

scp -r username@ip_address:/home/username/anaconda3/envs/$env_name ~/  

以上指令能够实现将某台服务器下的虚拟环境复制到另一台服务器上当前位置下,其中:

username:用户名,cvhub
ip_address:ip地址,172.31.20.xx
env_name:所要复制的虚拟环境名称

以上变量可依照自己的实际环境进行相应的替换即可。

Anaconda环境创建

conda create -n cvhub python=3.8 -y  

上述指令创建了一个名称为cvhub,python版本号为3.8的虚拟环境,-y表示遵循默认配置,后面无需再次确认。注意,在安装时如没有必要尽量不要选择最新的python版本号,以确保后续配置或安装包不会出现python版本不支持的现象。

Anaconda环境激活

conda activate $pkg_name  

$pkg_name为你所创建的环境名,此处为cvhub。(下同)

注:Linux系统下如果没配置好./bashrc,会导致conda指令失效,可使用以下临时指令激活:

source ~/.bashrc  
source activate $pkg_name  

Anaconda环境退出

conda deactivate  

退出环境时无需增加扩展名,默认退出当前环境。

Anaconda环境删除

conda remove -n $pkg_name --all -y  

需要注意的是这里--all参数是必加的。

Anaconda环境配置

通常来说,当我们使用conda指令下载安装包时会默认使用conda源下载。但是,由于xx不可描述的因素影响,会导致安装包的下载速度极其缓慢,甚至会经常出现下载中断的现象。我想这对于绝大多数刚入门的新手应该不陌生,你是其中一个吗?^_^

一个比较好的解决方案便是加载国内的镜像源,这样可以避免这种问题,下面首先列举出国内几个比较常用的镜像源:

http://mirrors.aliyun.com/pypi/simple/  # 阿里云
https://pypi.mirrors.ustc.edu.cn/simple/ # 中国科技大学
http://pypi.douban.com/simple/ # 豆瓣(douban)
https://pypi.tuna.tsinghua.edu.cn/simple/ # 清华大学
http://pypi.mirrors.ustc.edu.cn/simple/ # 中国科学技术大学

当然,因为一些xx因素,这些源有时候会被关闭,至于能不能用关键还是看运气了。下面梳理下一些常用的指令。

添加镜像源

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/conda-forge/  
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/  
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/  
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/  
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/  
conda config --set show_channel_urls yes  

最后一行是用于显示下载的通道源。以pytorch下载和按照为例,我们应该先到对应源的网站上去查看是否有相应的镜像链接。比如清华源中pytorch网站为这个[1],进入后我们可以根据我们的操作系统选择点击进入查看是否有我们所需要的版本号。当然,我们在使用pytorch官方指令安装的时候要注意去掉 -c ,这个加上去会使用默认的conda源。

而在Linux系统下,可以尝试修改以下配置文件,然后将里面的channels按照上面所示的镜像源地址添加进去即可:

sudo gedit ~/.condarc  

检查镜像源

conda config --show # 显示当前配置状态  
conda config --get channels # 查看当前配置状态  

敲定第一行指令会打印一些列信息,我们需要找到"channels"这个关键字下的信息进行查看。

删除镜像源

# 删除当前的镜像源  
conda config --remove channels  https://pypi.mirrors.ustc.edu.cn/simple/   
# 移除所有镜像源  
conda config --remove-key channels  

Anaconda常用指令汇总

conda -h # 通过使用帮助指令,可以对其他指令功能一目了然  
conda --version # 查看当前的conda版本  
conda list # 查看当前已安装包  
conda install $pkg_name # 安装包  
conda uninstall $pkg_name # 卸载包  
conda info --envs # 显示当前以创建的虚拟环境  
conda update conda # 检查并更新到conda最新版本  
conda update --all # 更新所有的安装包  
conda update python # 将python更新至最新版本  
conda remove --name $pkg_name # 删除当前虚拟环境下的某个包  
conda remove --name $env_name  $pkg_name # 删除某个虚拟环境下的某个包  
conda env export -n $env_name -f $env_name.yml # 将配置导出为yml文件  
conda env upload -f $env_name.yml # 上传yml文件  
conda create -n $env_name -clone $cp_env_name  # 复制当前虚拟环境  
conda search $pkg_name # 搜索某个包的信息  
conda clean -p # 清理没有使用过的包  
conda list -e > requirements.txt # 将当前虚拟环境下的所有包进行导出  

pip指令大全

  • 更新到最新版本
pip install --upgrade pip  
  • 设置镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/  
  • pip删除镜像源
pip config unset global.index-url  
  • pip查看当前镜像源
pip config list  
  • pip查看当前镜像源
pip config list  
  • pip安装包
pip install $pkg_name -i http://pypi.douban.com/simple # 临时使用指定镜像源安装包,可自行更改  

如报不受信任的错,可添加以下指令解决:

pip install -U scikit-learn -i http://pypi.douban.com/simple --trusted-host pypi.douban.com  

如果想要一次性设置,Linux下,可以修改 ~/.pip/pip.conf 文件,若不存在则手动创建:

# vim ~/.pip/pip.conf  
[global]  
index-url = https://pypi.tuna.tsinghua.edu.cn/simple  
[install]  
trusted-host = https://pypi.tuna.tsinghua.edu.cn  

Windows系统下则在当前系统用户目录下创建一个pip文件夹,如C:\Users\Administrator\pip,然后在当前目录下创建并编辑pip.ini文件:

[global]  
index-url = https://pypi.tuna.tsinghua.edu.cn/simple  
[install]  
trusted-host = https://pypi.tuna.tsinghua.edu.cn  

这里的镜像源可根据需要自行修改。除此之外,我们还可以在Pycharm下进行设置:

File → Settings → Project:Name → Project Interpreter → ‘+’ 添加模块 → Manage Repositories → 将相应镜像源添加进去。

  • 用pip生成当前环境下的requirements文件
pip freeze > requirements.txt  
  • 用pip安装当前环境下的requirements文件
pip install -r requirements.txt  

常见问题汇总

  • 如果用pip提示找不到相关库,可以切换下用conda指令安装;
  • 如果用某个源下载速度满,即可多切换下不同的镜像源试试,比如有时候用清华源只有10k,换个豆瓣源有2M多;
  • 如果提示连接超时,代理设置有问题的,可以检查下自己的vpn是否开启了全局,可改成PAC模式;
  • 如果出现“conda Collecting package metadata (current_repodata.json): failed”,说明当前设置的镜像源可能失效,可直接通过下面指令依次执行后,再重新安装你需要的包:
cls  
conda config --remove-key channels  
conda update conda  
conda update --all  
conda config --add channels conda-forge  
conda config --set channel_priority flexible  

总结

CVHub团队热衷于输出高质量的原创干货文章,每一篇文章均经过我们的精雕细琢,致力于为读者烹饪更加美味的CV技术佳肴。如果这篇文章能够帮助到你,请不要吝惜你的互动,一键三连即可。你的点赞和转发便是对我们最大的鼓励,日后必将写出更加精彩和高质量的文章回馈给读者。

References

[1]https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/: t

如果觉得有用,就请分享到朋友圈吧!

△点击卡片关注极市平台,获取 最新CV干货

公众号后台回复“CVPR21检测”获取CVPR2021目标检测论文下载~


极市干货
YOLO教程: 一文读懂YOLO V5 与 YOLO V4 大盘点|YOLO 系目标检测算法总览 全面解析YOLO V4网络结构
实操教程: PyTorch vs LibTorch:网络推理速度谁更快? 只用两行代码,我让Transformer推理加速了50倍 PyTorch AutoGrad C++层实现
算法技巧(trick): 深度学习训练tricks总结(有实验支撑) 深度强化学习调参Tricks合集 长尾识别中的Tricks汇总(AAAI2021
最新CV竞赛: 2021 高通人工智能应用创新大赛 CVPR 2021 | Short-video Face Parsing Challenge 3D人体目标检测与行为分析竞赛开赛,奖池7万+,数据集达16671张!


CV技术社群邀请函 #

△长按添加极市小助手
添加极市小助手微信(ID : cvmart4)

备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)


即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群


每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~



觉得有用麻烦给个在看啦~   


登录查看更多
0

相关内容

【实用书】Python数据分析手册,437页pdf带你实战数据清洗
专知会员服务
155+阅读 · 2021年3月6日
【经典书】精通Linux,394页pdf
专知会员服务
92+阅读 · 2021年2月19日
Python编程基础,121页ppt
专知会员服务
48+阅读 · 2021年1月1日
【2020干货书】Python3基础导论介绍,98页pdf
专知会员服务
100+阅读 · 2020年10月11日
迁移学习简明教程,11页ppt
专知会员服务
107+阅读 · 2020年8月4日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
最新《自动微分手册》77页pdf
专知会员服务
99+阅读 · 2020年6月6日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
PyTorch  深度学习新手入门指南
机器学习算法与Python学习
9+阅读 · 2019年9月16日
Pyrasite - 将代码注入正在运行的Python进程的工具
黑白之道
3+阅读 · 2019年3月18日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
kali实战渗透环境配置指南
黑白之道
5+阅读 · 2018年8月9日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
机器学习小白如何成长为业内专家?
深度学习世界
4+阅读 · 2017年12月4日
TensorFlow神经网络教程
Python程序员
4+阅读 · 2017年12月4日
Python NLP入门教程
计算机与网络安全
9+阅读 · 2017年11月21日
Arxiv
18+阅读 · 2021年3月16日
Arxiv
23+阅读 · 2018年8月3日
Arxiv
5+阅读 · 2018年5月16日
VIP会员
相关VIP内容
【实用书】Python数据分析手册,437页pdf带你实战数据清洗
专知会员服务
155+阅读 · 2021年3月6日
【经典书】精通Linux,394页pdf
专知会员服务
92+阅读 · 2021年2月19日
Python编程基础,121页ppt
专知会员服务
48+阅读 · 2021年1月1日
【2020干货书】Python3基础导论介绍,98页pdf
专知会员服务
100+阅读 · 2020年10月11日
迁移学习简明教程,11页ppt
专知会员服务
107+阅读 · 2020年8月4日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
最新《自动微分手册》77页pdf
专知会员服务
99+阅读 · 2020年6月6日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
相关资讯
PyTorch  深度学习新手入门指南
机器学习算法与Python学习
9+阅读 · 2019年9月16日
Pyrasite - 将代码注入正在运行的Python进程的工具
黑白之道
3+阅读 · 2019年3月18日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
kali实战渗透环境配置指南
黑白之道
5+阅读 · 2018年8月9日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
机器学习小白如何成长为业内专家?
深度学习世界
4+阅读 · 2017年12月4日
TensorFlow神经网络教程
Python程序员
4+阅读 · 2017年12月4日
Python NLP入门教程
计算机与网络安全
9+阅读 · 2017年11月21日
Top
微信扫码咨询专知VIP会员