ubuntu14.04 安装 tensorflow
如果内容侵权的话,联系我,我会立马删了的~因为参考的太多了,如果一一联系再等回复,战线太长了~~蟹蟹给我贡献技术源泉的作者们~
最近准备从理论和实验两个方面学习深度学习,所以,前面装好了Theano环境,后来知乎上看到这个回答,就调研了一下各个深度学习框架,我没有看源码,调研也不是很深入,仅仅是为了选择深度学习框架做的一个大概了解~
1. 如何选择深度学习框架?
参考资料如下:
1. https://github.com/zer0n/deepframeworks/blob/master/README.md
2. http://blog.csdn.net/qiexingqieying/article/details/51734347
3. https://www.zhihu.com/question/41907061
4. http://www.open-open.com/news/view/1069a70
5. http://www.kuqin.com/shuoit/20151124/349098.html
博客2总结如下:
| 库名称 | 开发语言 | 速度 | 灵活性 | 文档 | 适合模型 | 平台 | 上手 |
| Caffe | c++/cuda | 快 | 一般 | 全面 | CNN | 所有系统 | 中等 |
| TensorFlow | c++/cuda/python | 中等 | 好 | 中等 | CNN/RNN | Linux\OSX | 难 |
| MXNet | c++/cuda | 快 | 好 | 全面 | CNN | 所有系统 | 中等 |
| Torch | c/lua/cuda | 快 | 好 | 全面 | CNN/RNN | Linux\OSX | 中等 |
| Theano | python/c++/cuda | 中等 | 好 | 中等 | CNN/RNN | Linux\OSX | 易 |
(1)Caffe
(2)TensorFlow
(3)MXNet

1.Extract AlexNet or VGG features? Use Caffe
2.Fine tune AlexNet for new classes? Use Caffe
3.Image caption with finetuning?
-> Need pretrained models (Caffe, Torch, Lasagne)
-> Need RNNs (Torch or Lasagne)
-> Use Torch or Lasagna
4.Segmentation?(Classify every pixel)
-> Need pretrained model (Caffe, Torch, Lasagna)
-> Need funny loss function
-> If loss function exists in Caffe: Use Caffe
-> If you want to write your own loss: Use Torch
5.Object Detection?
-> Need pretrained model (Torch, Caffe, Lasagne)
-> Need lots of custom imperative code (NOT Lasagne)
-> Use Caffe + Python or Torch
6.Language modeling with new RNN structure?
-> Need easy recurrent nets (NOT Caffe, Torch)
-> No need for pretrained models
-> Use Theano or TensorFlow
7.Implemente BatchNorm?
-> Don’t want to derive gradient? Theano or TensorFlow
-> Implement efficient backward pass? Use Torch
最后,JJ比较个人化地给出了自己的偏好:
<img src="https://pic4.zhimg.com/162dfaed5ea30a18779ecb0eb9f2378b_b.png" data-rawwidth="1270" data-rawheight="716" class="origin_image zh-lightbox-thumb" width="1270" data-original="https://pic4.zhimg.com/162dfaed5ea30a18779ecb0eb9f2378b_r.png">
第一部分对于这5个框架的介绍讲述了一些概念以及基本优缺点,首先我的使用情况就是文本训练学习,可能需要用到RNN模型,而且我比较熟悉python一些,C++以及lua都不太会,所以基本确定要了解Theano 和 Tensorflow这两个框架,杜客在知乎回答的内容中,选择tensorflow还是Theano,可以看出大牛介绍的主要还是图像领域的一些应用,然后第6点,Language modeling with new RNN structure也可以基本确定我们需要这两个框架。
然后选择谁?虽然Caffe的作者贾扬清老师说“都是基于Python的符号运算库,TensorFlow显然支持更好,Google也比高校有更多的人力投入。Theano的主要开发者现在都在Google,可以想见将来的工程资源上也会更偏向于TF一些”。知乎用户张昊说“ 1. 看你做什么application 2. 看哪个framework能够提供给你最多与你所做的问题相关的资源。举个例子,比如做language相关,在小数据上跑跑实验的话我觉得theano不错,网上能找到的相关资源(比如其他相关paper的实现,model)很多。如果做视觉相关的那theano的资源跟caffe和torch比就少多了,所以caffe和torch可能会是更好的选择。TF也不错,最近Google promote的很厉害,估计随着用的人越来越多在一两年内资源也会越来越多。”鉴于我目前只是学习一下,所以决定使用Theano ,但是今天还是花了蟹时间安装Tensorflow。
2.安装Tensorflow
Ubuntu14.04+cuda7.5+cudnnv4+Tensorflow
基本根据官方给的教程就可以安装了https://www.tensorflow.org,然后学校有时候打不开界面,所以也可以参考这里。
我选择的pip install方式。
$ sudo apt-get install python-pip python-dev
其实这些工具前面好像安装过了,但是怕有问题就再执行一遍,选择符合自己情况的命令执行下去。
# Ubuntu/Linux -bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
出现错误,在教程里的common problems中说:
...
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
Solution: Download the wheel manually via curl or wget, and pip install locally.所以使用wget命令下载再执行安装。
wget https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
sudo pip install tensorflow-0.9.-cp27-none-linux_x86_64.whl
接着测试tensorflow.
Open a terminal and type the following:
$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant()
>>> b = tf.constant()
>>> print(sess.run(a + b)) >>>
没有问题。
$ python -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'
结果如下:

测试运行:
$ python -m tensorflow.models.image.mnist.convolutional
出现错误:
lvxia@kde:~$ python -m tensorflow.models.image.mnist.convolutional
I tensorflow/stream_executor/dso_loader.cc:] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:] successfully opened CUDA library libcurand.so locally
Extracting data/train-images-idx3-ubyte.gz
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line , in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line , in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist/convolutional.py", line , in <module>
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line , in run
sys.exit(main(sys.argv))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist/convolutional.py", line , in main
train_data = extract_data(train_data_filename, )
File "/usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist/convolutional.py", line , in extract_data
buf = bytestream.read(IMAGE_SIZE * IMAGE_SIZE * num_images)
File "/usr/lib/python2.7/gzip.py", line , in read
self._read(readsize)
File "/usr/lib/python2.7/gzip.py", line , in _read
self._read_eof()
File "/usr/lib/python2.7/gzip.py", line , in _read_eof
hex(self.crc)))
IOError: CRC check failed 0xe1d362ba != 0x90dd462eL
https://github.com/tensorflow/tensorflow/issues/1319中的解决方式:

因此,进入convolutional.py所在目录,修改文件权限,然后将WORK_DIRECTORY的data修改为 /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/mnist/data 即可。
sudo chmod convolutional.py
重新执行:
python -m tensorflow.models.image.mnist.convolutional
还是出现错误
E tensorflow/stream_executor/cuda/cuda_dnn.cc:] Loaded cudnn library: but source was compiled against . If using a binary install, upgrade your cudnn library to match. If building from sources, make sure the library loaded matches the version you specified during compile configuration.
可以看到是cudnn版本不一致的问题导致的。
然后官网上有这么一句“Download cuDNN v4 (v5 is currently a release candidate and is only supported when installing TensorFlow from sources).”,所以我就下载了cuDNN v4。
tar xvzf cudnn-7.0-linux-x64-v4.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-7.5/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-7.5/lib64
sudo chmod a+r /usr/local/cuda-7.5/include/cudnn.h /usr/local/cuda-7.5/lib64/libcudnn*
我忘记以前怎么操作的了,我的/esr/local文件夹下有两个cuda文件,一个是cuda一个是cuda-7.5.这里我把他放在cuda7.5文件夹下面。
然后执行上述命令就没有问题了。
中间晕晕呼呼还尝试了一遍源代码安装方式,就是官网上的install from sources,基本步骤也按照上面来,结合 博客 博客 就可以了,碰到蟹问题,基本google能找出解决办法的。
这篇博客讲述了tensorflow源码目录结构的一些知识。
这里记录几个小问题和解决方法:
(1)OSError - Errno 13 Permission denied
chown -R user-id:group-id /path/to/the/directory
(2)AttributeError: type object 'NewBase' has no attribute 'is_abstract'
sudo pip install six --upgrade --target="/Library/Python/2.7/site-packages/"
(3)./configure 在 tensorflow目录下,这个在源代码安装方式中用到这个配置了。
ubuntu14.04 安装 tensorflow的更多相关文章
- ubuntu14.04 安装tensorflow始末
基于ubuntu14.04 干净的系统一步步遇到的坑记录下来: 怀着平静学习的心情,问题总的能解决的! 1. 首先看了下当前python版本 python --version Python 2.7.6 ...
- ubuntu14.04 安装 tensorflow9.0
ubuntu14.04 安装 tensorflow9.0 文章目录 ubuntu14.04 安装 tensorflow9.0 安装pip(笔者的版本为9.0) 仅使用 CPU 的版本的tensorfl ...
- Ubuntu14.04安装配置web/ftp/tftp/dns服务器
目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...
- Ubuntu14.04安装intel集显驱动
Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...
- Ubuntu14.04安装中文输入法以及解决Gedit中文乱码问题
1 设置中文显示环境 1. 打开System Settings 2. 打开Personal-> Language Support. 会弹出如下对话框,提示你“语言支持没安装完整”. 点击“Rem ...
- Ubuntu14.04安装配置ndnSIM
Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...
- Ubuntu14.04 安装QQ国际版wine-qqintl
Ubuntu14.04安装qq国际版方式: 首先下载,链接为: https://pan.baidu.com/s/1boPitVD 密码:jp1j 也可去Ubuntu中文的Kylin(优麒麟)官网下载 ...
- 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解
一.ubuntu14.04安装 安装步骤很简单的,相信你只要知道并且决定安装ubuntu,你就不会在安装上有问题,下载网址 http://www.ithome.com/html/soft/81539. ...
- Ubuntu14.04安装samba
Ubuntu14.04安装samba 按照惯例,首先介绍Samba.Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件.它实现在局域 ...
随机推荐
- Java基本知识
一.I/O 分字节流和字符流 字节流由InputStream和OutputStream读入和写入 DataInputStream继承自FilterInputStream,可以读取基本数据类型(char ...
- 关于ios原声嵌入web页面的问题
当在一个界面中既有原生又有web的时候,如果想让上下整体滑动的话,我们怎么确定web的高度呢,下面分享一下我的心得 首先在webView的代理方法中我们可以获取到加载完整个web页面的高度 - (vo ...
- 【IE6的疯狂之三】IE6 3像素BUG的实例
问题:2列布局.左列固定,右列液态我需要做一个布局.2列,左边列固定宽度.右边列使用剩余宽度.整体宽度不固定,这样不管在17 还是19的屏幕上,左边列始终宽度不变,右边列宽度始终占据剩余宽度.但是我写 ...
- NDEF消息解析实例[转]
问题:按照NDEF消息格式来解析下列Hex串? D1 02 1F 53 70 91 01 0E 54 02 65 6E 68 65 6C 6C 6F 20 77 6F 72 6C 64 51 ...
- Nopi Excel导入
http://download.csdn.net/detail/diaodiaop/7611721 using System.Collections.Generic; using System.Dat ...
- Cookie小解2
Cookie最早用来标识和认证一个用户,其处理分为以下几步: 1.服务端向客户端发送Cookie 2.浏览器将Cookie保存 3.之后每次浏览器服务服务器时都会将Cookie发向服务器端 ----- ...
- ARM驱动调试方法、思路总结、笔记
驱动程序的调试一. 打印: prink, 自制proc文件UBOOT传入console=ttySAC0 console=tty11. 内核处理UBOOT传入的参数console_setup add_p ...
- android app 集成 支付宝支付 微信支付
项目中部分功能点需要用到支付功能,移动端主要集成支付宝支付和微信支付 支付宝sdk以及demo下载地址:https://doc.open.alipay.com/doc2/detail.htm?spm= ...
- 查看源码利器之sublime text 3 配置 Ctags 插件
最近在看源码的时候发现sublime text 3是很给力的一款软件,小巧精致,这里着重讲解一下Ctags协助编译和跟踪函数 一.安装Package Control (如果Preferences &g ...
- 拔高课程_day14_课堂笔记
今日大纲 Redis的持久化 Redis的主从 Redis的集群 mysql 优化 tomcat优化 Redis的持久化 持久化 持久化,就是将数据保存到磁盘,机器宕机或者重启数据不丢失,如果存储到内 ...