以安装PyTorch为例说明Anaconda在Windows/Linux上的使用
在Windows10上配置完MXNet 1.3.0后,再配置PyTorch 1.0时,发现两者需要依赖的NumPy版本不一致,之前是通过pip安装NumPy,根据pip的版本不同,会安装不同版本的NumPy,使用起来很不方便,而且MXNet和PyTorch依赖的Python版本也可能不同,这里使用Anaconda来轻松解决以上问题。
简单来说,Anaconda是包管理器和环境管理器,它可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本,其包含了conda, numpy, scipy, Python等在内的1400多个科学包及其依赖项。Anaconda是在conda上发展出来的。Anaconda有2.x和3.x两个版本,2.x对应于Python的2.x,3.x对应于Python的3.x,因为Python2.x不久便会停止维护,因此直接下载Ananconda3.x版本即可,其中又分为32位和64位,根据需要下载对应的即可。
conda是包及其依赖项和环境的管理工具,可运行在Windows, Linux, Mac平台,它可以快速安装、运行和升级包及其依赖项,可以在计算机中便捷地创建、保存、加载和切换环境。如果你需要的包要求不同版本的Python,你无需切换到不同的环境,因为conda同样是一个环境管理器。仅需要几条命令,你可以创建一个完全独立的环境来运行不同的Python版本,同时继续在你常规的环境中使用你常用的Python版本。conda可以建立多个虚拟环境,在不同环境之间进行切换比较方便,环境管理也较为简单。
conda为Python项目而创造,但可适用于R, Ruby, C/C++等多种语言。conda包和环境管理器包含于Anaconda的所有版本当中。pip是用于安装和管理软件包的包管理器。virtualenv是用于创建一个独立的Python环境的工具。conda结合了pip和virtualenv的功能。
windows上安装Anaconda操作步骤:
(1). 从 https://www.anaconda.com/download/#windows下载Anaconda3-2018.12-Windows-x86_64.exe ,大约614MB;
(2). 以管理员身份运行Anaconda3-2018.12-Windows-x86_64.exe,然后依次点击Next;I Agree;Next;选择安装路径,这里安装到D:\ProgramFiles\Anaconda3,Next;勾选Register Anaconda as the system Python 3.7, Install;Next;不安装Microsoft VSCode,Skip;取消勾选Lear more, Finish;安装完成;安装完后D:\ProgramFiles\Anaconda3目录大小大约为5GB;
(3). 以管理员身份运行Anaconda Prompt,在命令行中输入conda list,若结果可以正常显示,则说明安装成功,如下图所示:
(4). 更新所有包,执行 conda upgrade --all,结果如下图:
(5). 创建环境,安装pytorch 1.0版本,如环境名为pytorch1.0,包名为python,python版本为3.6,执行conda create -n pytorch1.0 python=3.6,结果如下图:
(6). 进入环境,环境名为pytorch1.0,执行conda activate pytorch1.0,结果如下图:
(7). 安装pytorch 1.0版本,CPU, Python3.6,执行conda install pytorch-cpu torchvision-cpu -c pytorch,结果如下图:
(8). 验证pytorch 1.0是否安装正确,测试代码及执行结果如下,说明pytorch 1.0已正确安装:
(9). 退出环境,执行conda deactivate,结果如下图:
(10). 创建另一新环境pytorch0.4.1,安装pytorch 0.4.1版本,python版本为3.6,执行conda create -n pytorch0.4.1 python=3.6,结果如下图:
(11). 进入pytorch0.4.1环境,执行conda activate pytorch0.4.1,结果如下图,注意:行首括号内的变化,之前未进入环境前是(base),进入pytorch1.0环境后是(pytorch1.0),现在进入pytorch0.4.1环境后是(pytorch0.4.1),即行首括号内显示的是当前所在的环境名:
(12). 删除指定的环境,如删除pytorch0.4.1,执行conda env remove -n pytorch0.4.1,结果如下图:
(13). 显示已创建的环境,执行conda info --envs,结果如下图,新建的环境均在Anaconda安装目录(D:\ProgramFiles\Anaconda3)的envs目录下:
(14). 复制环境,假设已存在环境test,想复制环境test到test2,则执行conda create --name test2 --clone test,结果如下图,复制后两个环境test和test2的配置相同:
(15). 共享环境,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确,假如你当前环境为test2,想将test2的环境导出,则执行conda env export > test2.yaml,即将当前环境test2保存到test2.yaml文件中,结果如下图,生成的文件存放地址在C:/WINDOWS/system32;
(16). 导入共享环境,执行conda env update -f= C:/WINDOWS/system32/test2.yaml,-f表示要导入文件的本地路径,结果如下图所示:
ubuntu上安装Anaconda操作步骤:
(1). 从 https://www.anaconda.com/download/#linux 下载Anaconda3-2018.12-Linux-x86_64.sh,大约652MB;
(2). 依次执行以下命令,结果如下图所示:
chmod +x Anaconda3-2018.12-Linux-x86_64.sh
./Anaconda3-2018.12-Linux-x86_64.sh
(3). 启动Anaconda,执行:$ source ~/.bashrc 或关闭终端,然后再打开终端;
(4). 验证Anaconda是否安装正确,执行 conda list,结果如下,说明Anaconda已被成功安装;
(5). 创建环境,环境名为pytorch0.4.1,包名为python,版本为3.6,执行conda create -n pytorch0.4.1 python=3.6,结果如下:
(6). 进入环境pytorch0.4.1,执行conda activate pytorch0.4.1,结果如下:
(7). 安装pytorch 0.4.1,python版本为3.6,CUDA版本为8.0,这里通过从https://pytorch.org/get-started/previous-versions/ 下载cu80/torch-0.4.1-cp36-cp36m-linux_x86_64.whl文件进行安装,文件大小约471MB,本机已安装CUDA 8.0,执行conda install ./ torch-0.4.1-cp36-cp36m-linux_x86_64.whl时一直报Solving environment: failed, PackagesNotFoundError: The following packages are not available from current channels错误,后面换成使用pip命令安装,结果如下:
(8). 验证pytorch 0.4.1 cuda8.0版本是否安装正确,测试代码及执行结果如下,说明安装正确。
conda在windows和linux下常用命令如下:
# 显示conda版本号
conda --version
# 更新所有包
conda upgrade --all
# 查看conda帮助信息
conda --help
# 安装包,如numpy
conda install numpy
# 安装指定版本号的包,如numpy 1.10
conda install numpy=1.10
# 可同时安装多个包,如pandas numpy
conda install pandas numpy
# 卸载包,如numpy
conda remove numpy
# 更新包,如numpy
conda update numpy
# 列出已安装的包
conda list
# 搜索包,如numpy
conda search numpy
# 创建新环境,如环境名为pytorch1.0,包名为python,python版本号为3.6
conda create -n pytorch1.0 python=3.6
# 进入新环境,如pytorch1.0
conda activate pytorch1.0
# 退出环境
conda deactivate
# 删除指定环境,如环境名为pytorch0.4.1
conda env remove -n pytorch0.4.1
# 显示已创建的环境
conda info --envs
# 复制环境,如将已存在的环境名test复制到test2,复制后两个环境test2和test的配置相同
conda create --name test2 --clone test
# 导出共享环境,假如你当前环境为test2,想将test2的环境导出
conda env export > test2.yaml
# 导入共享环境,加入导入test2.yaml,-f表示yaml文件的本地路径
conda env update -f= C:/WINDOWS/system32/test2.yaml
相关文章:

常用 SQL介绍
创建表 /*创建数据表CREATE TABLE 表名 (字段名 类型(INTEGER, REAL, TEXT, BLOB)NOT NULL 不允许为空PRIMARY KEY 主键AUTOINCREMENT 自增长,字段名2 类型,...)注意:在开发中,如果是从 Navicat 粘贴的 SQL,需要自己添加一个指令IF NO…

AttoNets,一种新型的更快、更高效边缘计算神经网络
作者 | Alexander Wong, Zhong Qiu Lin, and Brendan Chwyl 译者 | Rachel 出品 | AI科技大本营(ID:rgznai100)尽管机器学习已经在很多复杂的任务中取得了进展,但现有模型仍然面临许多边缘计算实践的困难,这些边缘计算场景包括移…

Appro DM8127 IPNC 挂载NFS遇到的问题及解决
对于Appro DM8127 IPNC,默认的启动方式是NAND is used for booting kernel and NAND is used as root filesystem 为了调试应用程序方便,通常使用挂载NFS作为 root filesystem 但是如果直接采用ti文档中所给的方法修改文件系统挂载方式(将启动…

提高C++性能的编程技术笔记:设计优化/可扩展性/系统体系结构相关+测试代码
1. 设计优化 我们可以粗略地将性能优化分为两种类型:编码优化和设计优化。编码优化定义为不需要完整理解要解决的问题或者应用程序的执行流程就能实施的优化。通过定义看出,编码优化用于局部代码,同时该过程不牵涉周围的代码。除了这些容易实…

ICLR 2020被爆半数审稿人无相关领域经验,同行评审制度在垮塌?
作者 | 若名出品 | AI科技大本营(ID:rgznai100)根据维基百科,同行评议(peer review),是指由一个或多个具有与作品生产者具有相似能力的人员(同行)对作品进行的评估活动。同行评审方法用于维持质…

Swift 中使用 SQLite——批量更新(事务处理)
本文是Swift 中使用 SQLite系列的收官之作,介绍一下在数据库中的批量更新。 事务 在准备做大规模数据操作前,首先开启一个事务,保存操作前的数据库的状态开始数据操作如果数据操作成功,提交事务,让数据库更新到数据操…

网络管理常用命令之二 - Ipconfig 命令详解(图文)
2、Ipconfig 命令...不带参数.../all 参数.../release 和 /realease6 参数.../Renew 和 /Renew6 参数.../flushdns 参数.../displaydns 参数2、Ipconfig 命令 ipconfig命令也是使用率非常高的一个命令,可用于显示系统的TCP/IP网络配置值,并刷新动态主…

Swift 中使用 SQLite——查询数据
本文主要介绍如何查询 SQLite 结果集,以及封装 SQLite 的操作方法。 准备测试代码 /// 从数据库中加载 person 数组 class func persons() -> [Person]? {// 1. 准备 SQLlet sql "SELECT id, name, age, height FROM T_Person;"// 2. 访问数据库// …

提高C++性能的编程技术笔记:总结
《提高C性能的编程技术》这本书是2011年出版的,书中有些内容的介绍可能已经过时,已不再适用于现在的C编程中,但大部分内容还是很有参考意义的。 这里是基于之前所有笔记的简单总结,笔记列表如下: 跟踪实例࿱…

13岁小孩都跟我抢Python了,完了!
以下来自一位程序员母亲和工作人员的对话。程序员妈妈:您好,可以帮我推荐一本适合我家小孩看的编程书籍吗?兔子:可以的呀,《Scratch从入门到精通》,这本书适合小孩学习,您可以先看一下哦~程序员…

Windows Mobile 6.0 SDK和中文模拟器下载
【转】 Windows Mobile 6.0 SDK和中文模拟器下载 Windows Mobile 6.5 模拟器2010年12月06日 星期一 07:48转载自 zhangyanle86终于编辑 zhangyanle86Windows Mobile 6.0 SDK和中文模拟器下载 SDK 6.0下载页面:http://www.microsoft.com/downloads/details.aspx?fam…

wxPython:Python首选的GUI库 | CSDN博文精选
作者 | 天元浪子来源 | CSDN博客文章目录概述窗口程序的基本框架事件和事件驱动菜单栏/工具栏/状态栏动态布局AUI布局DC绘图定时器和线程后记概述跨平台的GUI工具库,较为有名的当属GTK、Qt 和 wxWidgets 了。GTK是C实现的,由于C语言本身不支持OOP&#x…

Swift 中使用 SQLite——修改和删除数据
本文主要介绍在SQLite中修改数据、删除数据: 更新记录 /// 将当前对象信息更新到数据库 /// /// - returns: 是否成功 func updatePerson() -> Bool {guard let name name else {print("姓名不能为空")return false}if id < 0 {print("id 不…

用python3实现指定目录下文件sha256及文件大小统计
有时会统计某个目录下有哪些文件,每个文件的sha256及文件大小等相关信息,这里用python3写了个脚本用来实现此功能,此脚本可跨平台,同时支持windows和linux,脚本(get_dir_file_info.py)内容如下: import os…

Swift 中使用 SQLite——新增数据
本文重点介绍两个方面,1、新增数据,2、获取自动增长 ID。 建立 Person.swift 数据模型 /// 个人模型 class Person: NSObject {// MARK: - 模型属性/// 代号var id: Int64 0/// 姓名var name: String?/// 年龄var age 0/// 身高var height: Double …

投稿2877篇,EMNLP 2019公布4篇最佳论文
整理 | AI科技大本营(ID:rgznai100)近日,自然语言处理领域的顶级会议之一EMNLP 2019公布了年度最佳论文。EMNLP是由国际语言学会(ACL)下属的SIGDAT小组主办的自然语言处理领域的顶级国际会议,是自然语言算法…

对象检测工具包mmdetection简介、安装及测试代码
mmdetection是商汤和港中文大学联合开源的基于PyTorch的对象检测工具包,属于香港中文大学多媒体实验室open-mmlab项目的一部分。该工具包提供了已公开发表的多种流行的检测组件,通过这些组件的组合可以迅速搭建出各种检测框架。 mmdetection主要特性&am…

(转)eclipse 代码自动补全
转自:http://blog.csdn.net/yushuwai2010/article/details/11856129 一般默认情况下,Eclipse的代码提示功能是比MicrosoftVisualStudio的差很多的,主要是Eclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不…

swift 多线程GCD和延时调用
GCD 是一种非常方便的使用多线程的方式。通过使用 GCD,我们可以在确保尽量简单的语法的前提下进行灵活的多线程编程。在 “复杂必死” 的多线程编程中,保持简单就是避免错误的金科玉律。好消息是在 Swift 中是可以无缝使用 GCD 的 API 的,而且…

目标检测算法Faster R-CNN简介
在博文https://blog.csdn.net/fengbingchun/article/details/87091740 中对Fast R-CNN进行了简单介绍,这里在Fast R-CNN的基础上简单介绍下Faster R-CNN。 目标检测领域从R-CNN开始,通过引入卷积神经网络取得了很多突破性的进展,但是始终未能…

ICCV 2019 | 加一个任务路由让数百个任务同时跑起来,怎么做到?
作者 | Gjorgji Strezoski, Nanne van Noord, Marcel Worring 译者 | 中国海洋大学李杰 出品 | AI科技大本营(ID:rgznai100)摘要传统的多任务(MTL)学习方法依赖于架构调整和大型可训练参数集来联合优化多个任务。但是,…

DEV开发之控件NavBarControl
右键点击RunDesigner弹出如下界面鼠标先点击3或4,1,,然后点击1或2进行相应的新增或删除操作,3是分组,4是项目,4可以直接拖动到相应的分组3.属性caption:显示的名称4.NavBarControl 属性 PaintStyleName绘画风格&…

swift支持多线程操作数据库类库-CoreDataManager
类库方法 获取数据 executeFetchRequest(request:) 同步获取数据 var request: NSFetchRequest NSFetchRequest(entityName: "MonkeyEntity")var myMonkeys:NSArray? CoreDataManager.shared.executeFetchRequest(request)异步获取数据 executeFetchRequest(re…

目标检测(或分隔)算法Mask R-CNN简介
在博文https://blog.csdn.net/fengbingchun/article/details/87195597 中对Faster R-CNN进行了简单介绍,这里在Faster R-CNN的基础上简单介绍下Mask R-CNN。 Mask R-CNN是faster R-CNN的扩展形式,能够有效地检测图像中的目标,并且Mask R-CNN…

未来之城,管理者可能不是人......
大会官网 https://t.csdnimg.cn/KSTh2010 年,IBM 正式提出了“智慧地球”愿景。在 IBM 的设想中,智慧城市应该由六个核心系统组成:组织(人)、业务/政务、交通、通讯、水和能源。(图源 | IBM 官网࿰…

UVa 10701 - Pre, in and post
题目:已知树的前根序,中根序遍历转化成后根序遍历。 分析:递归,DS。依据定义递归求解就可以。 前根序:根,左子树,右子树; 中根序:左子树,根,右子树…

图像集存储成MNIST数据集格式实现
有时会用到将一组图像存放成MNIST中那样的数据格式,以便于用于网络的训练和测试,如MNSIT中的测试集标签t10k-labels.idx1-ubyte和测试集图像t10k-images.idx3-ubyte,各包含了10000个样本,这里以此两个测试集为例详细说明下实现过程…

ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方案
原来定位服务是10分钟收不到定位信息就挂起定位,现在变为最短3分钟,估计都是为了省电吧。只要你开启应用的后台定位,并且10分钟有一次定位,那么苹果就不会关闭你的线程,现在变成3分钟。若你的应用开启了后台定位&#…

程序员必知的20个Python技巧
作者 | Duomly 译者 | 弯月,编辑 | 郭芮 出品 | CSDN(ID:CSDNnews)Python是一门流行且应用广泛的通用编程语言,其应用包括数据科学、机器学习、科学计算等领域,以及后端Web开发、移动和桌面应用程序等方面。…

CSS float浮动的深入研究、详解及拓展(二)
为什么80%的码农都做不了架构师?>>> 接上回… 五、浮动的非本职工作 浮动的本职工作是让匿名inline boxes性质的文字环绕图片显示,而其他所有用浮动实现的效果都不是浮动应该做的事情,我称之为“非本职工作”。 或许我们并没有…