以安装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 ...
随机推荐
- Nginx+Tomcat多站点访问默认主页问题-狒狒完美解决-Q9715234
<Engine name="Catalina" defaultHost="www.abc.com"> <Host name="www ...
- Ruby 基础教程 1-2
1.数组 创建 arrayname=[] arrayname=["1",12,"23"] 访问 arrayname[index] 更新 arrayname[in ...
- 「题目代码」P1060~P1065(Java)
P1060 谭浩强C语言(第三版)习题7.5 注意行末空格. import java.util.*; import java.io.*; import java.math.*; import java ...
- 180619-Yaml文件语法及读写小结
Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单:本篇主要介绍下YAML文件的基本语法,以及如何在Ja ...
- adb获取设备的序列号
用数据线连接手机, 打开开发者模式, 并赋予相关权限, 在CMD命令行输入: adb devices 第一个参数即为设备的序列号, 第二个参数device表示设备的状态是在线.
- centos下testlink的部署(基于xampp)
1. sudu -i 切换root用户 cd /opt切换到opt目录下(在linux下默认的下载文件目录在opt下) 执行命令下载xampp: https://sourcefor ...
- [Clr via C#读书笔记]Cp5基元类型引用类型值类型
Cp5基元类型引用类型值类型 基元类型 编译器直接支持的类型,基元类型直接映射到FCL中存在的类型. 作者希望使用FCL类型名称而避免使用关键字.他的理由是为了更加的清晰的知道自己写的类型是哪种.但是 ...
- 重装win10后ubuntu引导项修复
问题描述:原来是在win7下装了ubuntu14的双系统,后台win7换win10,然后使用EasyBCD进行引导项修复时,不好使,报 error file: /boot/grub/i386-pc/n ...
- 你真的了解JAVA里的String么
Java中String类细节问题 (考察点Java内存分配问题) 1. String str1 = "abc"; System.out.println(str1 == &quo ...
- rewrite or internal redirection cycle while processing nginx重定向报错
2018/05/07 15:03:42 [error] 762#0: *3 rewrite or internal redirection cycle while processing "/ ...