您的位置:首页 > 运维架构 > Linux

[置顶] Centos6.5之pip安装tensorflow

2017-10-17 16:38 316 查看
tensorflow
4000
,简言之:是Google开源出来的第二代机器学习的框架平台。


现版本的tensorflow基本只支持python2.7以上和python3。我这里用的是python2.7.6,安装完成是个曲折的过程,遇到很多坑,这里写成博客,仅做参考。

软件和组件版本:

Python https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz

pip pip-9.0.1.tar.gz

setuptools https://pypi.python.org/pypi/setuptools#downloads

tensorflow http://pan.baidu.com/s/1dFmejUL

glibc http://ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.xz

libstdc++ http://pan.baidu.com/s/1nv8i4ul

libstdc++.so http://pan.baidu.com/s/1geITRgB

(1)开始环境的一些得必须装好:

yum install gcc gcc-c++ make python-devel openssl openssl-devel glibc-headers zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel

tk-devel

(2)Python安装

Centos6.5自带是python2.6.6,这里我们再安装python2.7.6来替代它

下载并解压python:

wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz tar -zxvf Python-2.7.6.tgz


进入到python目录:

cd Python-2.7.6
./configure --prefix=/usr/local --enable-unicode=ucs4(这里很重要)
make && make all && make install


建立软链接,是系统默认的python指向python2.7.6

mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python


解决完系统默认的指向后,因为此时的yum不兼容python2.7,不能正常工作,我们需指定yum的Python版本:

vi /usr/bin/yum




把注释开头的/usr/bin/python后面加上2.6.6就ok了

修改Python2.7.6下面的Modules/Setup文件

定位到文件454行左右的这一行:将前面的注释去掉

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz


重新编译python

make && make install


(3)pip安装

tar -zxvf pip-9.0.1.tar.gz


进入到pip目录下

python setup.py install


这时会报错:No Module named setuptools

(4)安装setuptools

tar -zxvf setuptools-3.6.tar.gz
cd setuptool-3.6
python setup.py build
python setup.py install


然后再进入到pip目录下:python setup.py install

(5) 安装tensorflow

下载tensorflow-0.5.0-cp27-none-linux_x86_64.whl并运行以下命令:

pip install tensorflow-0.5.0-cp27-none-linux_x86_64.whl


接着:

pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp27-none-linux_x86_64.whl[/code] 
(6) 升级glibc

tar -zxvf glibc-2.17.tar.gz
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


查看已更新内容:



下载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
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
ln -s libstdc++.so.6.0.17 libstdc++.so.6


在查看更新:



下载libstdc++.so.6.0.20 ,并放入/usr/lib64目录下 并进行如下操作:

cd /usr/lib64
chmod +x libstdc++.so.6.0.20
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.20 libstdc++.so.6




(7)进行测试

vi test.py


代码:

import tensorflow as tf
hello = tf.constant('Hello,hejiamian!')
sess = tf.Session()
print sess.run(hello)
a = tf.constant(10)
b = tf.constant(333)
print sess.run(a+b)


python test.py


运行结果:

[root@db3 ~]# python test.py

I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 1

I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 1

Hello,hejiamian!

343

(8)大功告成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: