技术标签: python anaconda 深度学习 pytorch
最近因为课程和任务要求需要使用pytorch进行环境的搭建,因此会频繁的使用conda,此篇文章基于一个新手小白对于conda的理解,对conda的使用进行一些指导和说明
基于自己对于这些概念术语之间的关系打一个小比方:
包 =“工具”;
下载包 = “买工具”;
写程序 = “用工具做东西”(程序import导入)
环境 = “好比一栋楼,在楼里面分配一间屋给各种‘包’放,每间房里面的‘包’互不影响”
激活环境 = “告诉电脑,我现在要用这个屋子里面的‘包’来做东西了所以要进这间屋子”
移除环境 = “现在这个屋子里面我原来要用的东西现在不需要了把它赶出去节省电脑空间”
Conda创建环境相当于创建一个虚拟的空间将这些包都装在这个位置,我不需要了可以直接打包放入垃圾箱,同时也可以针对不同程序的运行环境选择不同的conda虚拟环境进行运行。
例如:
env1装了pytorch1.0,env2装了pytorch1.2,需要使用1.0的时候激活env1,需要使用pytorch版本1.2的时候激活env2,这样就不用每次配环境一个一个包重新安装。
Anaconda可以通过官网进行下载,但是此种下载安装方法会特别慢,因此可以使用镜像源进行下载,下载网站如下所示:
anaconda镜像站
选择对应操作系统的Anaconda安装包进行下载,然后根据提示进行Anaconda的安装。
温馨提醒:对C盘容量不够自信的用户尽可能不要装在C盘,会导致慢慢把conda养成大胖子。
通常anaconda的默认源在境外,下载速度会非常慢甚至导致网络错误下载包失败,打开Anaconda Prompt使用以下方法将清华镜像添加到anaconda
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 --set show_channel_urls yes
用conda info命令查看当前channel
镜像源添加完成
这个时候可以直接将 C:/User/用户名 目录下 .condarc文件 里面的-default一行删去
创建一个环境,在这个环境中配各种各样的包,就可以在这个环境中运行实现目标程序的运行
使用如下语句创建环境
conda create -n 环境名
创建一个为new的环境,可能要稍等一下比较慢,然后出现安装‘包’的提示,输入y然后按回车,之后我们就成功创建了我们新的环境
conda info --envs
在下面显示的就是当前有的conda环境,可以看见new这个环境创建成功。
Conda activate 环境名
Source activate 环境名
activate + 环境名
其中一句,可以试一下激活环境的语句
可以看见前面变成了(new),也就是我们成功进入了门牌号为new的这样一个房间。
在new里面,我们买的所有工具包都存放在这个房间。
Conda install 包名称
或者pip install 包名称 -i https://pypi.tuna.tsinghua.edu.cn/simple(清华镜像)
或者pip install 包名称 -i https://pypi.doubanio.com/simple/ (豆瓣镜像)
国内源下载
这样就在这个房间里面买了一个’工具‘也就是所谓python包,我们的程序可以在这个房间里面运行
相当于清点一下我买了多少工具。
这是我已经安装的包,在这里面有的包我都可以当工具来使用,没有的话可以通过conda install,pip install 来安装
我们以windows系统为例展示一个程序在环境中的运行
首先根据激活环境的步骤激活环境!!!
1、切换目录到文件所在目录
①cd + 盘符号
cd F:
就是切换到F盘,简单但是非常重要
②cd + 目录
cd F:\示例 切换到示例目录
我在这个文件夹下新建一个python程序,导入了刚刚安装的包并输出1+1结果
可以直接输入python +文件名,如python 1.py
这样我们就成功运行了我们的程序
deactivate 环境名
这样我们就退出了我们的环境,前面小括号显示base或者anaconda安装目录
conda remove -n 环境名 --all
输入conda info --envs查看现有的环境
可以看到new环境与相关的包都已经被删除
新手小白对于anaconda操作的一些认识和理解,如有不正确的地方,欢迎大家批评指正
文章浏览阅读29次。ioredis 作者@Luin宣布该项目已被 Redis 公司收购。目前 ioredis 在 GitHub 的开源地址已迁移至 Redis 公司旗下:ioredis 是一个用于 Node.js 的 Redis 客户端,健壮、性能好、功能强大且全面。两年前,ioredis超过redis 成为了 Node.js 最流行的 Redis 客户端。当时 ioredis 作者还感叹 redis 历经诸...
文章浏览阅读406次。3.如果一个可序列化对象包含了某个不可序列化对象的引用,那么整个序列化是会失败的,并且会抛出一个NotSerializableException,我们可以将这个引用标记为transient,表示为短暂的,此时该变量就无法被序列化,然后对象依旧可以被序列化。一个类如果想被序列化,则必须实现java.io.Serializable接口,这个接口没有定义任何方法,是一个标志性接口,当一个类实现了该接口,就表示这个类的对象是可以被序列化的。2.如果一个对象的成员变量是一个对象,那么这个对象的数据成员也会被保存。.._ser 序列化 反射
文章浏览阅读139次。zuul 路由1. zuul:1.1 zuul是什么?Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。注意:Zuul服务最终还是会注册进Eureka1.2 路由:_zuul: prefix: /api
文章浏览阅读2.1w次,点赞30次,收藏204次。摘要:在这个人人一部甚至多部智能手机的年代,各种APP充斥在各种应用市场作为一名电子爱好者或者电子工程师,你在为如何选择APP而头痛吗?哪些你正在使用的APP使你在工作、生活、学习中如虎添翼呢?现在,小师弟特意整理了一些电子爱好者和电子工程师能用到的手机APP和你没见过的电脑仿真软件。ElectroDroid电路专家ElectroDroid是一款电路电子器件的学习软件,比较专业化,它能够为你提供各种电路方面的信息查询和计算服务,是电子相关行业人士的必备工具之一。它包括:电阻色码计算器贴片电阻代码_电路仿真app
文章浏览阅读7.9k次,点赞9次,收藏53次。关于卷积神经网络的模型,我们这里只谈论关于图像分类的卷积神经网络的四种模型。在这里我们就不对卷积神经网络的结构进行阐述,不了解的同学可以参考我之前的博客LeNet-5首先我们先阐述的是1989年提出来的的LeNet-5结构。它其实就是最原始的结构,卷积层后衔接池化层,再接卷积层和其后的池化层,最后一个全连接层。(c1=convolution layer1,s1=subsampling layer1[降采样层,就是池化层])这个模型是实现识别手写数字的功能为目的而提出..._卷积神经网络模型
文章浏览阅读1.4k次。优秀的持续集成工具有很多,如老牌的开源工具CruiseControl 、商业的 Bamboo 和 TeamCity 等。这里只介绍 Hudson, 因为它是目前较流行的开源持续集成工具。该项目过去一直托管在 java.net 社区,不过现在已经迁移到。Hudson 主要是由Kohsuke Kawaguchi 开发和维护的,Kohsuke Kawaguchi 自2001年就已经加入 Sun 公司(当然,现在已经是 Oracle 了)。_hudson搭建
文章浏览阅读853次,点赞24次,收藏18次。到底什么是IaaS?它与PaaS和SaaS等其他云服务有何不同?本文将介绍它们之间的区别。随着91%的公司至少部分迁移到云,我们都应该对它们有基本了解。下面让我们探讨一下IaaS是什么,与其他云服务的区别,及一些实际使用中的示例。_google drive iaas
文章浏览阅读194次。滚动栏的范围是一对整数,默认情况下,滚动栏的范围是0~100。SetScrollRange(hwnd,iBar,iMin,iMax,bRedraw)这里的iBar參数要么是SB_VERT,要么是SB_HORZ,iMin和iMax分别相应滚动栏范围的最小值和最大值,须要Windows依据新的范围来重绘滚动栏时将bRedraw设为TRUE.SetScrollPos(hwnd..._setscrollerbarpos
文章浏览阅读1.3w次,点赞45次,收藏177次。入门awt不错的文章,带你快速上手awt_awt
文章浏览阅读170次。10.3int main(){ vector<string>v{ "Hello","World" }; auto sum = accumulate(v.begin(), v.end(), string{ "Tim Wu" }); cout << sum << endl;}int main(){ int v1 = 42; auto f ..._executionpolicy&&
文章浏览阅读1.1k次。在物联网浪潮之下,智能硬件的火爆程度不断升温。未来十年,全球接入互联网的硬件设备将达到1万亿台。如今的智能硬件产品正成为下一个“台风口”,同时这对于终端市场也是一个机遇。然而从创新走向产品,作为开发者应该如何步步为营?面对传统硬件与智能硬件之间思维理念及技术差异的“鸿沟”,开发者如何提升自己的技能,更加高效地开发?由此,我们带着探索道路上的种种疑问,采访了机智云 CTO ..._机智云科技有限公司刘焱
文章浏览阅读857次。跟随carl代码随想录刷题语言:python。_完全背包问题 输出有几种排列