Ubuntu上安装TensorFlow(python2.7版)
笔记内容:Ubuntu上安装TensorFlow(python2.7版) 笔记日期:2018-01-31
我的系统环境:
- Ubuntu 16.04 LTS
- python 2.7
- python 3.5
TensorFlow的两个版本:
TensorFlow的安装形式主要有以下几种:
- virtualenv
- pip
- docker
- anaconda
- 源代码编译
pip是Python软件包管理系统:Pip Install Packages 递归缩写
pip安装软件包命令的格式如下:
pip install 软件包名
pip卸载软件包命令的格式如下:
pip uninstall 软件包名
我这里先使用virtualenv虚拟环境形式的安装,一会再介绍使用pip安装到本地系统,以下是TensorFlow官方的安装文档:
1.安装python-pip、python-dev以及python-virtualenv等包,我这里安装的是python2.7版本的:
$ sudo apt-get install python-pip python-dev python-virtualenv
2.创建一个Virtualenv环境:
[zero@zero-virtual-machine:~]$ virtualenv --system-site-packages tensorflow
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/zero/tensorflow/bin/python2
Also creating executable in /home/zero/tensorflow/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
3.激活Virtualenv环境:
[zero@zero-virtual-machine:~]$ source ~/tensorflow/bin/activate
(tensorflow) [zero@zero-virtual-machine:~]$
4.安装pip:
(tensorflow) [zero@zero-virtual-machine ~]$ easy_install -U pip
5.安装tensorflow,我这里安装的是cpu版本的:
(tensorflow) [zero@zero-virtual-machine ~]$ pip install --upgrade tensorflow
提示:如果你的pip安装的很慢的话,是因为默认使用的是国外的源,我们可以更换成国内的源:
[zero@zero-virtual-machine ~]$ vim .pip/pip.conf # 编辑为以下内容
[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com #没有这句会包warning
disable-pip-version-check = true #版本不检查
timeout = 120 #超时时间设置
注:如果.pip/pip.conf没有则创建即可。
6.安装完之后进入python命令行,导入tensorflow包,如果没有任何输出则代表安装成功:
(tensorflow) [zero@zero-virtual-machine ~]$ python
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>>
其他的一些操作: deactivate命令可退出虚拟环境:
(tensorflow) [zero@zero-virtual-machine ~]$ deactivate
[zero@zero-virtual-machine ~]$
删除虚拟环境只需要把生成的目录删除即可:
[zero@zero-virtual-machine ~]$ rm -rf tensorflow/
[zero@zero-virtual-machine ~]$
以上我们演示了通过virtualenv来安装tensorflow,接下来再演示一下通过本地pip来安装tensorflow:
1.首先需要安装pip及dev:
[zero@zero-virtual-machine ~]$ sudo apt-get install python-pip python-dev
2.然后使用pip进行安装即可:
[zero@zero-virtual-machine ~]$ pip install tensorflow
3.安装完之后也是进入python命令行,导入tensorflow包,如果没有任何输出则代表安装成功:
[zero@zero-virtual-machine ~]$ python
Python 2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>>
这种方式是安装在本地的系统上,而之前那种安装方式则是安装在一个虚拟的环境中,每次都需要进入虚拟环境中才可以使用tensorflow,安装在本地系统则不需要。
卸载tensorflow使用以下命令:
sudo pip uninstall tensorflow
我们可以使用pip来安装一些Python的基本类库:
pip install numpy
pip install pandas
pip install matplotlib
编写第一个TensorFlow程序:Hello World
以上我们已经安装好了TensorFlow,那么我们就来编写第一个TensorFlow程序:Hello World
1.创建好相应的目录:
[zero@zero-virtual-machine ~]$ mkdir TensorFlow
[zero@zero-virtual-machine ~]$ cd !$
cd TensorFlow
[zero@zero-virtual-machine ~/TensorFlow]$ mkdir HelloWorld
[zero@zero-virtual-machine ~/TensorFlow]$ cd !$
cd HelloWorld
[zero@zero-virtual-machine ~/TensorFlow/HelloWorld]$
2.编辑一个python文件:
[zero@zero-virtual-machine ~/TensorFlow/HelloWorld]$ vi helloworld.py # 内容如下
# -*- coding: UTF-8 -*-
# 引入 Tensorflow 库
import tensorflow as tf
# 创建一个常量 Operation (操作)
hw = tf.constant("Hello Wolrd!")
# 启动一个Tensorflow 的 Session(会话)
sess = tf.Session()
# 运行 Graph (计算图)
print sess.run(hw)
# 关闭 Session(会话)
sess.close()
3.运行这个文件,看看是否正常输出:
[zero@zero-virtual-machine ~/TensorFlow/HelloWorld]$ python helloworld.py
2018-02-01 00:22:43.680173: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
Hello Wolrd!
[zero@zero-virtual-machine ~/TensorFlow/HelloWorld]$
如上,可以看到 Hello Wolrd! 被正常输出了,以及打印了一些警告提示信息,到此为止我们的第一个TensorFlow程序就编写完成了。
这个警告的大致意思是:tensorflow觉得你电脑cpu还行,支持AVX(Advanced Vector Extensions),运算速度还可以提升,所以可以开启更好更快的模式,但是你现在用的模式相对来说可能不是那么快,所以这个其实并不是存在错误,所以如果不嫌当前的模式慢就忽略掉这个警告就好了。
如果,不想有这个警告信息的输出,则可以在代码上加上这两句:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
然后就不会输出警告信息了。
- 洛谷P3388 【模板】割点(割顶)(tarjan求割点)
- 每天学一点Docker(3)(制作你的第一个容器)
- 1635: [Usaco2007 Jan]Tallest Cow 最高的牛
- 1653: [Usaco2006 Feb]Backward Digit Sums
- 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场
- 1682: [Usaco2005 Mar]Out of Hay 干草危机
- 1637: [Usaco2007 Mar]Balanced Lineup
- AutoFac在项目中的应用
- 每天学一点Docker(5)——了解Docker架构
- 跨站请求伪造(CSRF/XSRF)
- 我这么玩Web Api(一)
- 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路
- 点双连通分量与割点
- 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Codeforces 727D-T-shirts Distribution (字符串 贪心)
- 详解 Vue 目录及配置文件之 build 目录
- Linux 常见文件管理命令及目录结构(1)
- Java parseInt( ) 方法
- 详解 Vue 目录及配置文件之 node_modules,src,static,test 目录
- 洛谷 P1077 摆花(记忆化搜索 or DP)
- Vue 使用 element-ui
- Codeforces Round #629 (Div. 3) F. Make k Equal (技巧暴力,类前缀和,思维,数学)
- vue 渐变色文字
- Java 水题系列(2)Pi的近似值
- vue 无缝滚动组件 vue-seamless-scroll
- Java 水题系列(3)回文素数
- NDB Cluster 8.0中的自动模式同步:第1部分
- MongoDB助力一个物流订单系统
- NDB Cluster 8.0中的自动模式同步:第2部分