以安装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.www.michenggw.com 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文件的本地路径
oid insert(int x){
for (int i=30;i>=0;i--)
if (x>0&&(x&(1<<i)))
if (b[i]) x^=b[i]; else{
b[i]=x;
for (int j=30;j>i;j--)
if (b[j]&(1<<i)) b[j]^=b[i];
for (int j=i-1;j>=0;j--)
if (b[i]&(1<<j)) b[i]^=b[j];
return;
}
}
复制代码
关于线性基的应用:
1、求最大值
把只有0/1的线性基,所有1的位对应的二进制数加起来就可以了。(所以说比较方便喽,都不用证明啥的)
2、求第k大
把所有的1的位单独拎出来,然后用按照k的二进制表示把值加上去就OK啦!代码如下:
for (int i=0;i<=63;i++www.dasheng178.com) a[++cnt]=i;
for (int i=cnt;i>=0;i--)
if (k>>i) ans+=1<<a[i];
一些例题:
例1:albus就是要第一个登场
题目大意:给你n个数,任取几个数进行xor操作(可以不取),得到2^n个数(可以有重复),把这些数从小到大排序,求k第一次出现时的下标。
数据范围:n<=100000,所有数均小于10^9。
来源:洛谷P4896
题解:问题在于会有重复,怎么解决呢?
如果你对线性基的理解够深刻的话,很快就能意识到——每一个线性相关的元素都会使得每一个值重复的元素数量乘以2。
那么问题就已经很清楚了,设线性基中一共有cnt个1,我们只需要求出k是第几大的,然后再乘个2^(n-cnt)就可以了。
代码:
复制代码
#include<bits/stdc++.h>
using namespace std;
int b[35];
int n,k,cnt,tot,x,now,p;
void insert(int x){
for (int i=30;i>=0;i--)
if (x>0&&(x&(1<www.ysyl157.com <i)))
if (b[i]) x^=b[i]; else{
b[i]=x;
for (int j=30;j>i;j--)
if (b[j]&(1<<i)) b[j]^=b[i];
for (int j=i-1;j>=0;j--)
if (b[i]&(1<<j)) b[i]^=b[j];
return;
}
}
int sqr(int x){
return x*x%p;
}
int power(int x,int y){
if (!y) return 1;
if (y&1) return sqr(power(x,y/2))*x%p;
else return sqr(power(x,y/2));
}
int main(){
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&x),insert(x);
scanf("%d",&k);
p=10086;
for (int i=0;i<=30;i++)
if (b[i]){
if (k&(1<<i)) now+=1<<tot;
tot++;
}
long long ans=(now%p*power(2,n-tot)+1)%p;
printf("%lld\n",ans);
return 0;
conda env update -f= C:/WINDOWS/system32/test2.yaml
以安装PyTorch为例说明Anaconda在Windows/Linux上的使用的更多相关文章
- WordPress安装篇(3):用宝塔面板在Linux上安装WordPress
前面的文章已经介绍了如何在Windows环境安装WordPress,这篇文章来介绍在Linux环境怎样快速安装WordPress.大家都知道,Linux系统相对于Windows系统而言占用资源更少.更 ...
- ubuntun16.04+cuda9.0+cudnn7+anaconda3+pytorch+anaconda3下py2安装pytorch
一.电脑配置 说明: 电脑配置: LEGION笔记本CPU Inter Core i7 8代GPU NVIDIA GeForce GTX1060Windows10 所需的环境: Anaconda3(6 ...
- 那些最全面的Windows10安装pytorch踩过的坑以及如何应用
那些最全面的Windows10安装pytorch踩过的坑以及如何应用 一.pytorch简介 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch.它是一个基 ...
- Windows 10 上安装 3D Studio Max 2016 报错的解决办法
在 Windows 10 上安装 3D Stuido Max 2016 报错,无法正常安装,查看日志是 VC 运行时安装错误,经过分析发现在 Windows 10 上已经有这些运行时并且版本比安装包中 ...
- 使用anaconda安装pytorch的清华镜像地址
1.安装anaconda:国内镜像网址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/下载对应系统对应python版本的anaconda版本(Li ...
- Anaconda ubuntu16.04 Cuda 8.0安装pytorch
Pytorch 安装 Pytorch安装真的太让人省心了,在anaconda的环境下进行安装,只需要一个命令 具体命令请查看官网pytorch 找到适合你的版本进行安装 本机环境: anaconda3 ...
- Anaconda大法好,为什么要用Anaconda(附linux安装与用例)
距离写上一个博客已经过去很久了,注册的时候我还是个大三学生抱着windows系统的visual studio在OPENCV等等复杂组件下面瑟瑟发抖,一不小心就担心hpp找不到了,依赖库没了,或者安装了 ...
- Anaconda中安装pytorch
Anaconda中安装pytorch 创建一个虚拟环境 conda create --name machinelearning python=3.7 激活虚拟环境 activate machinele ...
- Anaconda 安装 pytorch报错解决方法
一.安装Pytorch: # -c 指定用pytorch镜像源下载软件conda install pytorch torchvision cpuonly -c pytorch 报错: 二.配置: ch ...
随机推荐
- redhat防火墙管理
systemctl status firewalldsystemctl stop firewalldsystemctl start firewalldsystemctl enable firewall ...
- C# 浮点转时间
想了大半天实在想不出什么更适合文章的标题... 就现在这个标题,挺好- - 什么是浮点转时间呢? 今天写的一个计时功能,想来想去还是现在这种解决方案比较合适 先上一张图在来讲解比较明了 如图:赛车游戏 ...
- Git笔记——01
Git - 幕布 Git 教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b00 ...
- Linux命令应用大词典-第33章 X Window
33.1 xhost:X服务器的访问控制程序 33.2 xinit:X Window系统初始化 33.3 Xlsclients:在显示器中列出正在运行的客户端应用程序 33.4 xlsfonts:显示 ...
- word record 01
词义默认包括发音 coil /kɔɪl/ 发音(kuo you) collage /kə'lɑʒ/ 发音(ke la shi) colleague /'kɑliɡ/ 发音 (ka li ge) com ...
- NO.01---今天聊聊Vuex的简单入门
作为一款个人认为非常牛x的框架,个人使用起来得心应手,所以近期就记录一下这款框架吧. 首先说一说 Vuex 是什么? 官方给出的解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它 ...
- Java 消息对列
ActiveMQ入门实例 1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5. ...
- 【第六章】MySQL日志文件管理
1.日志文件管理概述: 配置文件:/etc/my.cnf 作用:MySQL日志文件是用来记录MySQL数据库客户端连接情况.SQL语句的执行情况以及错误信息告示. 分类:MySQL日志文件分为4种:错 ...
- php多进程单例模式下的 MySQL及Redis连接错误修复
前几天写了个php常驻脚本,主要逻辑如下 //跑完数据后休息60秒 $sleepTime = 60; $maxWorker = 10; while (true) { $htmlModel = new ...
- [知识库:python-tornado]异步调用中的上下文控制Tornado stack context
异步调用中的上下文控制Tornado stack context https://www.zouyesheng.com/context-in-async-env.html 这篇文章真心不错, 非常透彻 ...