目录
引言
众所周知Python常用的版本有2.x和3.x,常常会引起版本问题。由于我在Linux系统中已经安装有Python3.x和对应的TensorFlow,现在遇到需要跑在Python2.x下的TensorFlow工程时,就很麻烦,因此可以用Anaconda来建立一个独立的小环境来另外安装Python2.x及其对应的TensorFlow来跑这个工程。
其实还有一种体积更小的版本叫做Miniconda,区别在于:
Miniconda是一个小的“引导”版本,只包括conda,Python和它们依赖的包。 超过720个科学软件包及其依赖项可以使用“conda install”命令从Continuum存储库单独安装。对于空间要求严格的用户,Miniconda是一个很好的选择。
Anaconda包括conda,conda-build,Python和超过150个自动安装的科学包及其依赖项。 与Miniconda一样,可以使用“conda install”命令单独安装超过250个额外的科学软件包。
conda和Anaconda的关系:
先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
Anaconda安装步骤
1)官网下载安装文件
https://www.anaconda.com/download/
由于官网的下载速度十分缓慢,而且还不支持断点续传,经常下载失败。故而,去国内的镜像站点下载,
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
2)打开终端,找到安装文件所在目录,拷贝到/home目录下,执行下列命令
bash Anaconda2-5.0.0.1-Linux-x86_64.sh #当然如果下载的是其他版本的Anaconda,替换掉安装包名即可
3)在安装过程中,首先会给你看许可申明,这里可以一直按回车,不用担心后面会漏掉什么命令。
然后会显示配置路径
Prefix=/home/xingyuan/anaconda3
选择yes就可以。
注意:在安装过程中问你是否将Anaconda安装路径加入到环境变量(.bashrc)中,输入yes.
安装完成,输入:sudo gedit ~/.bashrc
sudo gedit ~/.bashrc
检查末尾是否已经添加如下变量,没有则添加:
4)安装完之后,运行python,仍是ubuntu自带的python信息,需自己设置下环境变量.因为是对系统文件的修改,所以你如果不是管理员权限,第5)步是无法完成的,其实这一步可以选择性去做,不设置也没有关系。如果不设置,直接跳到第6)步。
5)在终端输入$sudo gedit /etc/profile,打开profile文件。在文件末尾添加一行:
export PATH=/home/zhangxingyuan/anaconda3/bin:$PATH
其中,将“/home/xingyuan/anaconda3/bin”替换为你实际的安装路径,保存。
6)如果在第三步中选择了no,输入conda info和conda --version都没有消息显示。此时可以将anaconda的bin目录手动加入PATH,根据版本不同,也可能是~/anaconda2/bin.
$echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
再更新bashrc以立即生效
source ~/.bashrc.
此时,执行conda info和conda --version都会有信息显示
关于Anaconda的常用命令
$ # 创建一个名为tensotflow的环境,指定Python版本是2.7(不用管是2.7.x,conda会为我们自动寻找2.7.x中的最新版本)
$ conda create --name tensotflow python=2.7 # 这里的--name可以简化为-n
$ source activate tensotflow # 安装好后,使用activate激活某个环境
$ # 激活后,会发现terminal输入的地方多了tensotflow 的字样
$ # 此时,可以安装和操作一些包
$ source deactivate tensotflow # 如果想返回普通环境,运行
$ conda remove --name tensotflow --all # 删除一个已有的环境
$ # conda的包管理类似pip
$ conda install scipy # conda安装scipy
$ conda list # 查看已经安装的packages
$ conda list -n tensotflow # 查看某个指定环境的已安装包
$ conda search numpy # 查找package信息
$ conda install -n tensotflow numpy # 安装某个指定环境的package
$ # 如果不用-n指定环境名称,则被安装在当前活跃环境,也可以通过-c指定通过某个channel安装
$ conda update -n tensorflow numpy # 更新package
$ conda remove -n tensorflow numpy # 删除package
创建自己的虚拟Python环境
1. 创建自己的虚拟python运行环境
1)conda create -n envname_of_yours python=version
2)将conda所在目录加入自己的环境变量中(修改.bashrc),并使之生效(在主目录下执行命令". .bashrc"或"source .bashrc")
2. 激活自己的虚拟python环境(source activate envname_of_yours,成功则提示符前部有虚拟环境名称)
3. 配置虚拟环境中的python包(pip install packege_name)
1)opencv-python(OpenCV python包,重量级计算机视觉工具包)
验证是否成功代码如下:
import cv2 as cv
print(cv.__version__)
2) opencv-contrib-python(OpenCV扩展包)
3) scikit-image(轻量级图像处理和计算机视觉的算法集合)
4) sciket-learn(python开源机器学习框架,包括:分类,回归,聚类,数据降维,模型选择和数据预处理,源于基于Python的科学计算工具包SciPy,不支持深度学习)
5) keras(深度学习框架,后端采用tensorflow或theano)
6) matplotlib(基于Python的2D绘图库)
7) imutils(基本图像处理函数集,如平移、旋转、缩放、骨骼化、显示、轮廓、边缘检测等,比OpenCV简单)
安装TensorFlow
软件源安装TensorFlow
建立一个conda计算环境
1)创建conda环境,名称为tensorflow3.6(一般命名为tensorflow,不过为了知道python版本,我一般后面会加上python版本号)
conda create -n tensorflow3.6 python=3.6
此时anaconda会检查并提示你需要在虚拟环境安装一些包,输入y确认即可。执行完上述命令,安装完成,最终显示内容如下:
第一个命令用于进入(激活)名为tensorflow的环境,第二个命令用于退出该环境,注意这里我们只是命名该环境为tensorflow,真正的TensorFlow还没安装呢。
有的博客会写提醒如下:
# To activate this environment, use:
# > source activate tensorflow
#
# To deactivate an active environment, use:
# > source deactivate
其实输入source或者conda,都能激活tensorflow环境。
开始安装TensorFlow
首先进入tensorflow虚拟环境,进入后,所有的命令前都会自带一个(tensorflow3.6)表示你在这个环境下。
$ source activate tensorflow
(tensorflow) $
然后我们使用“anaconda search -t conda tensorflow”命令来查询conda有哪些TensorFlow的安装包。输入命令后会出现一大堆安装包版本,类似下面这样:
(tensorflow) $ anaconda search -t conda tensorflow
Using Anaconda API: https://api.anaconda.org
会有一个大表格该给你展现,根据你的需求来选择一个即可,比如我选择名为“jjh_ppc64le/tensorflow-gpu”的版本,那么使用命令来查看细节:
(tensorflow) $ anaconda show jjh_ppc64le/tensorflow-gpu
Using Anaconda API: https://api.anaconda.org
Name: tensorflow-gpu
Summary: TensorFlow is a machine learning library
Access: public
Package Types: conda
Versions:
+ 1.1.0
+ 1.2.1
To install this package with conda run:
conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu
其实上面就已经告诉你怎么安装了,使用最后一行命令即可。
$ conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu
上面可以看到它其实给出了两个版本,如果想安装其中一个特定版本,可以指定:
$ conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu=1.1.0
anaconda同样会为你检查你缺少哪些包,并询问你是否安装,输入y确认即可。
至此TensorFlow就安装完成了,如果想检查是否安装成功,可以进入python来import试一试:
pip安装TensorFlow
清华镜像: https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/
复制pip命令安装即可。
离线安装TensorFlow
1)先去下载tensorflow包
wget https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.0-cp36-cp36m-linux_x86_64.whl
或者在浏览器输入链接:https://pypi.python.org/pypi/tensorflow,可以看到如下源。
2)安装
source activate tensorflow #激活tensorflow环境(每次使用都要输入)
cd /Downloads #切换到whl文件所在文件夹
pip install --ignore-installed --upgrade tensorflow-1.0.0-py3-none-linux_x86_64.whl #切记,不要用sudo pip,也不要用pip3,然后--ignore-installed --upgrade等参数也不能省略,否则会出错。
如果安装过程提示如下错误:
tensorflow-1.0.0-cp36-cp36m-linux_x86_64.whl is not a supported wheel on this platform.
则将whl文件重命名为tensorflow-1.0.0-py3-none-linux_x86_64.whl
mv tensorflow-1.0.0-cp36-cp36m-linux_x86_64.whl tensorflow-1.0.0-py3-none-linux_x86_64.whl #重命名
3)测试成功
(tensorflow)$ python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello)
虚拟环境下安装Cython
sudo apt-get remove cython
sudo pip install -U cython
Pytorch安装步骤
绪论
创建虚拟环境
为pytorch创建一个虚拟环境,这是推荐的做法,这样在创建其他环境如tensorflow时,就不会互相冲突。在终端输入:
conda create -n pytorch3.6 python=3.6 #其他博客会写pytorch,我为了分辨python版本,写成了pytorch3.6
这就创建了一个名为pytorch3.6,python版本为3.6的虚拟环境。于是我们可以把Pytorch安装在这个环境下面。首先我们激活这个环境:source activate pytorch3.6
source activate pytorch3.6
激活后,会看到前面会显示(pytorch):
方法一
在Pytorch官网上,根据自己的机器配置选择对应的安装命令。
官网上不太全,可以在如下网站下载:https://pytorch.org/get-started/previous-versions/
如果选择相应的配置,最下面就会提示安装输入的命令。
在终端输入:conda install pytorch torchvision -c pytorch
conda install pytorch torchvision -c pytorch
一路回车,会自动安装必须的组件,直至完毕。
由于安装的代码需要翻墙才可见,我这里展示一下:
cuda8.0:
conda install pytorch torchvision cuda80 -c pytorch
cuda9.0:
conda install pytorch torchvision -c pytorch
cuda10.0:
conda install pytorch torchvision cuda100 -c pytorch
None(即CPU版):
conda install pytorch-cpu torchvision-cpu -c pytorch
提示:
在安装pytorch时有时候会报错,其中出现”CondaHTTPError: HTTP None None for url…..”这类错误时基本是因为有些库需要外网才能下载,所以我们需要使用conda的清华镜像。在安装好conda后,运行
conda config
产生配置文件.condarc 。通过:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
查看修改是否成功,输入:
cat ~/.condarc
显示内容如图:
则修改成功。
方法二
使用conda安装指定版本
# 比如我们安装 v0.1.10
conda install pytorch=0.1.10 -c soumith
使用pip安装制定版本
pip install pytorch==0.1.10
卸载pytorch
使用conda卸载
conda uninstall pytorch
conda uninstall libtorch
使用pip卸载
pip uninstall torch
torchvision安装
利用以上命令,可同时安装PyTorch和torchvision,但PyTorch的版本为1.1,而所需PyTorch版本为0.4.1,因此不能采用以上命令进行配置,而是要分别安装PyTorch 0.4.1和torchvision。
安装pytorch 0.4.1
conda install pytorch=0.4.1 cuda90 -c pytorch
这里有个坑:
其中,-c pytorch
参数指定了conda获取pytorch的channel
,在此指定为conda自带的pytorch仓库。
因此,只需要将-c pytorch
语句去掉,就可以使用清华镜像源快速安装pytorch了。
以上是cuda9.0版本的安装命令。
·安装torchvision
conda install torchvision
theano安装步骤
安装theano很简单,运行命令:
conda install theano
输入 y 继续,安装完成。
keras安装步骤
源码安装,直接从github上将源码克隆下来,这样可以安装最新版的keras。这里我将keras克隆到Anaconda安装目录的同级目录下。
参考博客:https://blog.csdn.net/qq_32329377/article/details/53008019
Anaconda参考博客:https://www.jianshu.com/p/d01aabf7bd65
Tensorflow中文社区:http://www.tensorfly.cn/tfdoc/get_started/os_setup.html
TensorFlow参考博客:https://blog.csdn.net/xxty1122/article/details/80443969
TensorFlow for more information:
- TensorFlow Website
- TensorFlow Tutorials
- TensorFlow Model Zoo
- TensorFlow Twitter
- TensorFlow Blog
- TensorFlow Course at Stanford
- TensorFlow Roadmap
- TensorFlow White Papers
- TensorFlow YouTube Channel
- TensorFlow Visualization Toolkit
Pytorch参考博客:https://blog.csdn.net/hktxt/article/details/82111203
https://ptorch.com/news/37.html