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'
然后就不会输出警告信息了。
- 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 数组属性和方法
- Vue路由Hash模式分析
- Flutter基础widgets教程-CupertinoButton篇
- 利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料)
- 组合模式
- Js中数组空位问题
- 反转字符串
- Prime Path(POJ - 3126)【BFS+筛素数】
- (leetcode每日打卡)秋叶收藏集【动态规划】
- 设计模式~调停者模式(Mediator)
- Sequential Nim(CodeForces - 1382B)【博弈】
- Less Coin Tosses(Gym - 102346L)【打表+找规律】
- leetcode1558题解【贪心】
- 如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能
- Kafka监控必备——Kafka-Eagle 2.0.2正式发布
- 安防/教育/互联网直播视频组件EasyRTSPServer读取本地文件报错找不到EasyStreamClient.dll解决方法