在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上的使用的更多相关文章

  1. WordPress安装篇(3):用宝塔面板在Linux上安装WordPress

    前面的文章已经介绍了如何在Windows环境安装WordPress,这篇文章来介绍在Linux环境怎样快速安装WordPress.大家都知道,Linux系统相对于Windows系统而言占用资源更少.更 ...

  2. ubuntun16.04+cuda9.0+cudnn7+anaconda3+pytorch+anaconda3下py2安装pytorch

    一.电脑配置 说明: 电脑配置: LEGION笔记本CPU Inter Core i7 8代GPU NVIDIA GeForce GTX1060Windows10 所需的环境: Anaconda3(6 ...

  3. 那些最全面的Windows10安装pytorch踩过的坑以及如何应用

    那些最全面的Windows10安装pytorch踩过的坑以及如何应用 一.pytorch简介 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch.它是一个基 ...

  4. Windows 10 上安装 3D Studio Max 2016 报错的解决办法

    在 Windows 10 上安装 3D Stuido Max 2016 报错,无法正常安装,查看日志是 VC 运行时安装错误,经过分析发现在 Windows 10 上已经有这些运行时并且版本比安装包中 ...

  5. 使用anaconda安装pytorch的清华镜像地址

    1.安装anaconda:国内镜像网址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/下载对应系统对应python版本的anaconda版本(Li ...

  6. Anaconda ubuntu16.04 Cuda 8.0安装pytorch

    Pytorch 安装 Pytorch安装真的太让人省心了,在anaconda的环境下进行安装,只需要一个命令 具体命令请查看官网pytorch 找到适合你的版本进行安装 本机环境: anaconda3 ...

  7. Anaconda大法好,为什么要用Anaconda(附linux安装与用例)

    距离写上一个博客已经过去很久了,注册的时候我还是个大三学生抱着windows系统的visual studio在OPENCV等等复杂组件下面瑟瑟发抖,一不小心就担心hpp找不到了,依赖库没了,或者安装了 ...

  8. Anaconda中安装pytorch

    Anaconda中安装pytorch 创建一个虚拟环境 conda create --name machinelearning python=3.7 激活虚拟环境 activate machinele ...

  9. Anaconda 安装 pytorch报错解决方法

    一.安装Pytorch: # -c 指定用pytorch镜像源下载软件conda install pytorch torchvision cpuonly -c pytorch 报错: 二.配置: ch ...

随机推荐

  1. hdu2149Public Sale(巴什博弈)

    Public Sale Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. android自动化のadb常用命令(不定期更新)

    1. adb devices 执行结果是adb为每一个设备输出以下状态信息:序列号(serialNumber) — 由adb创建的使用控制台端口号的用于唯一标识一个模拟器或手机设备的字符串,格式是 & ...

  3. oracle 学习随笔一: 字段大小写

    字段上加大小写:"reportId"  即可

  4. Scala学习笔记之Actor多线程与线程通信的简单例子

    题目:通过子线程读取每个文件,并统计单词数,将单词数返回给主线程相加得出总单词数 package review import scala.actors.{Actor, Future} import s ...

  5. mapReduce入门教程

    什么是MapReduce MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归纳)&q ...

  6. Java进阶知识点:不可变对象与并发

    一.String的不可变特性 熟悉Java的朋友都知道,Java中的String有一个很特别的特性,就是你会发现无论你调用String的什么方法,均无法修改this对象的状态.当确实需要修改Strin ...

  7. LeetCode - 13. Roman to Integer - 思考if-else与switch的比较 - ( C++ ) - 解题报告

    1.题目: 原题:Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range ...

  8. Centos6更新yum repo

    163开源镜像站是国内比较老的一个网站.很多人都在使用. step 1/3 备份原镜像文件: cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.r ...

  9. vuejs学习之 项目打包之后的首屏加载优化

    vuejs学习之 项目打包之后的首屏加载优化 一:使用CDN资源 我们在打包时,会将package.json里,dependencies对象里插件打包起来,我们可以将其中的一些使用cdn的方式加载,例 ...

  10. hosts_allow配置了却不生效

    hosts_allow配置了却不生效 配置了两台白名单的机器,一台生效一台不生效,google后的结果都是更新libwrap.so  安装openssh等等..(问题还是没有解决) 经过对比发现,原来 ...