ubuntu与centos安装tensorflow经验总结
来源:互联网 发布:大数据的工资待遇 编辑:程序博客网 时间:2024/05/23 18:31
这几天做深度学习,把谷歌的开源框架tensorflow安装做个总结台式机ubuntu与centos服务器都进行了安装
ubuntu版本16.04
安装准备
ubuntu16.04默认python版本是2.7所以不需要重新安装python
安装环境准备
sudo apt-get install python-pip python-dev
pip安装 我的是python2.7 无GPU版所以是
pip install
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.0rc1-cp27-none-linux_x86_64.whl
python2.7 GPU版本是 pip install
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.0rc1-cp27-none-linux_x86_64.whl
python3及其他版本可到https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#virtualenv-installation查找
如果使用 pip 二进制包安装了开启 GPU 支持的 TensorFlow, 必须确保 系统里安装了正确的 CUDA sdk 和 CUDNN 版本. 参考 CUDA 安装教程
你还需要设置 LD_LIBRARY_PATH
和 CUDA_HOME
环境变量. 可以考虑将下面的命令 添加到 ~/.bash_profile
文件中, 这样每次登陆后自动生效. 注意, 下面的命令 假定 CUDA 安装目录为 /usr/local/cuda
:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"export CUDA_HOME=/usr/local/cuda
接下来是centos6.8
这个就比较坑爹了
首先是python版本
#python -V
Python 2.6.6
因为tensorflow只支持2.7以上版本python,所以需要从python安装开始
环境准备
yum -y install git
yum -y install zlib*
yum -y install gcc*
yum install python-pip python-dev
yum -y install python-devel openssl openssl-devel gcc sqlite sqlite-devel mysql-devel libxml2-devel zlib-devel readline-devel bzip2-devel
然后安装python2.7,这里python版本为2.7.5,因为安装了2.7.11出现了无法编码UTSC4情况,所以没有用2.7.11而用了2.7.5
安装
进入root
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
- tar -zxvf Python-2.7.5.tgz
-
- cd Python-2.7.5
-
- ./configure --prefix=/usr/local/python27
-
- make&&make install
查看安装/usr/local/python27/bin/python
设为默认版本 做软链接- mv /usr/bin/python /usr/bin/python-old
-
- ln -s /usr/local/python27/bin/python /usr/bin/python
进入python# python 退出<<<exit()
修改yum默认链接为python2.6,否则yum会报错
vim /usr/bin/yum
然后将第一行修改为
#!/usr/bin/python2.6
保存退出
这时pip会出现缺少pkg_source啥的情况需要重新安装set_tools和pip
pip下载
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
安装# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
安装后提示依然没有pip命令,需在在添加环境变量
# vim /etc/profile
在文档最后,添加:
export PATH="/usr/local/python2.7/bin:$PATH"
保存,退出
然后运行:
#source /etc/profile
查看pip版本
pip -V
然后安装tensorflow
pip install
pip install
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.0rc1-cp27-none-linux_x86_64.whl
安装完成但是python测试出现错误
>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 45, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)
版本编译的时候使用GLIBC_2.15,系统自带的是GLIBC_2.12,所以报错网上找了好多方法都不管用但是http://blog.csdn.net/levy_cui/article/details/51251095解决了下面的问题基本都说出了解决方法
yum install gcc
wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.xz
xz -d glibc-2.17.tar.xz
tar -xvf glibc-2.17.tar
cd glibc-2.17
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
等大概10分钟。
输入strings /lib64/libc.so.6|grep GLIBC发现已经更新
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17GLIBC_PRIVATE
然后>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 45, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)
错误原因 ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found
#strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
没有GLIBCXX_3.4.14版本支持,继续安装
下载新版本,地址:http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb
ar -x libstdc++6_4.7.2-5_amd64.deb&&tar xvf data.tar.gz
#cd /root/usr/lib/x86_64-linux-gnu
#ll
lrwxrwxrwx 1 root root 19 Apr 26 15:21 libstdc++.so.6 -> libstdc++.so.6.0.17
-rw-r--r-- 1 root root 991600 Jan 7 2013 libstdc++.so.6.0.17
# find / -name libstdc++.so.6
/usr/lib64/libstdc++.so.6
/root/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
#cp libstdc++.so.6.0.17 /usr/lib64/
#cd /usr/lib64/
#chmod +x libstdc++.so.6.0.17
#ll libstdc++.so.6.0.17
-rwxr-xr-x 1 root root 991600 Apr 26 15:30 libstdc++.so.6.0.17
#ln -s libstdc++.so.6.0.17 libstdc++.so.6
#strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_DEBUG_MESSAGE_LENGTH
>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/__init__.py", line 23, in <module>
from tensorflow.python import *
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 45, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
File "/usr/local/python27/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /usr/local/python27/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)
从网上下载libstdc++.so.6.0.20
http://ftp.de.debian.org/debian/pool/main/g/gcc-4.8/
或者
http://download.csdn.net/detail/pomelover/7524227
放到/usr/lib64/下
#chmod +x libstdc++.so.6.0.20
#rm libstdc++.so.6
#ln -s libstdc++.so.6.0.20 libstdc++.so.6
#strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
[root@pachong1 lib64]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
以上基本解决全部编译问题如果>>> import tensorflow as tf没有报错,那么恭喜你可以使用了
但是我的服务器最后还是出现USTC4无法编码问题查找说是python2.7.11只编译USTC2啥的,重新编译python2.7.5参考http://blog.csdn.net/taolinke/article/details/50472451
至于anacanda,virtualenv安装
可以参考https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#virtualenv-installation http://www.tensorfly.cn/tfdoc/get_started/os_setup.html 上面有详细内容
参考
http://blog.csdn.net/orangleliu/article/details/9415145
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#virtualenv-installation
http://blog.csdn.net/levy_cui/article/details/51251095
http://blog.csdn.net/chuchus/article/details/51713389
http://www.mamicode.com/info-detail-1169437.html
http://blog.csdn.net/feifeilyj/article/details/52235987
http://www.tensorfly.cn/tfdoc/get_started/os_setup.html
- ubuntu与centos安装tensorflow经验总结
- ubuntu安装Theano库与Tensorflow
- TensorFlow下载与安装(Ubuntu)
- 安装tensorflow的最简单方法(Ubuntu 16.04 && CentOS)
- tensorflow在centos安装
- tensorflow centos 安装
- centos 6安装tensorflow
- CentOS快速安装TensorFlow
- centos 安装TensorFlow
- centos系统安装TensorFlow
- MAC, Centos 安装tensorflow。
- centos安装TensorFlow
- tensorflow安装(CentOS)
- Ubuntu 安装TensorFlow安装
- ubuntu安装git server经验总结
- tensorFlow 安装(ubuntu)
- ubuntu下安装tensorflow
- 安装tensorflow(ubuntu)
- 关于powerdesigner中的data types说明
- fragment和activity之间进行数据交互
- 折半查找法 没想象中那么简单
- java设计模式学习笔记之模块方法模式
- FileInputStream和FileOutputStream
- ubuntu与centos安装tensorflow经验总结
- Machine Learning Notebook - Week 1 - Andrew Ng
- [10]全局属性和其他
- 1
- 知识库--ApplicationFilterConfig+FilterConfig实践(54)
- PHP中的curl函数
- 一些概念
- bzoj4597 [Shoi2016]随机序列
- 队列