日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux+3.10.0.tar.bz2,tensorflow在linux系统上的安装

發(fā)布時間:2023/12/20 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux+3.10.0.tar.bz2,tensorflow在linux系统上的安装 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

tensorflow在ubuntu系統(tǒng)上按照官方文檔安裝起來相對容易,在centos上由于沒有apt-get( yum)相對困難一些,本文會提到一些安裝過程中遇到的一些坑及解放方案。

System: ubuntu/Centos, 通常linux系統(tǒng)都是針對ubuntu(源碼安裝時用到的Bazel)

Python: Anaconda3,python2

(一)Conda安裝:

conda install -c conda-forge tensorflow

Error:

Missing write permissions in: /export/App/anaconda3

# ls -l /export/App/anaconda3

total 80

drwxrwxr-x 2 hadoop hadoop 12288 Sep 5 15:57 bin

Fix:

# chmod -R 777 /export/App/anaconda3/

# ls -l /export/App/anaconda3

total 80

drwxrwxrwx 2 hadoop hadoop 12288 Sep 5 15:57 bin

下載packages出錯:

The following NEW packages will be INSTALLED:

funcsigs: 1.0.2-py27_0 conda-forge

mkl: 11.3.3-0

mock: 2.0.0-py27_0 conda-forge

numpy: 1.11.2-py27_0

pbr: 1.10.0-py27_0 conda-forge

protobuf: 3.0.0-py27_0 conda-forge

six: 1.10.0-py27_1 conda-forge

tensorflow: 0.11.0rc2-py27_0 conda-forge

Fetching packages ...

protobuf-3.0.0 1% ##############################################

CondaRuntimeError: Runtime error: RuntimeError: Runtime error: Could not open u'/root/anaconda2/pkgs/protobuf-3.0.0-py27_0.tar.bz2.part' for writing (HTTPSConnectionPool(host='binstar-cio-packages-prod.s3.amazonaws.com', port=443): Read timed out.).

Fix:

mv linux-64-protobuf-3.0.0-py27_0.tar.bz2 protobuf-3.0.0-py27_0.tar.bz2

安裝完成。但運行時報錯:

>>>import tensorflow as tf

Traceback (most recent call last):

File "", line 1, in

File "/export/App/anaconda3/envs/ml2/lib/python2.7/site-packages/tensorflow/__init__.py", line 23, in

from tensorflow.python import *

File "/export/App/anaconda3/envs/ml2/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 49, in

from tensorflow.python import pywrap_tensorflow

File "/export/App/anaconda3/envs/ml2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in

_pywrap_tensorflow = swig_import_helper()

File "/export/App/anaconda3/envs/ml2/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.14' not found (required by /export/App/anaconda3/envs/ml2/lib/python2.7/site-

packages/tensorflow/python/_pywrap_tensorflow.so)

問題分析:

上面的問題主要是glibc的版本太低,和tensorflow編譯使用的glibc環(huán)境不一樣,升級glibc是一個危險的動作,可能會造成系統(tǒng)無法運行。

建議用root用戶去操作

下載glibc地址:http://ftp.gnu.org/pub/gnu/glibc/

解壓tar.xz文件:先 xz -d xxx.tar.xz 將 xxx.tar.xz解壓成 xxx.tar 然后,再用 tar xvf xxx.tar來解包

/opt/glibc-2.14/

export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

ImportError: /opt/glibc-2.14/lib/libc.so.6: version `GLIBC_2.17' not found(required by /export/App/anaconda3/envs/ml2/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)

安裝2.17,過程和上面相同,這里省略

export LD_LIBRARY_PATH=/opt/glibc-2.17/lib:$LD_LIBRARY_PATH

error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument

這里還涉及到了ldconfig

采用直接升級glibc來解決:

這里不是使用export的方式,直接升級解決安裝glibc2.17的問題:

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

// 這里可能會遇到問題:*** LD_LIBRARY_PATH shouldn't contain the current directory when building glibc. Please change the environment

variable and run configure again.

// 通過echo $LD_LIBRARY_PATH可以得到:/usr/local/lib64,查看環(huán)境變量.bashrc里配置了該選項,臨時解決:export LD_LIBRARY_PATH=

// 還可能遇到的問題:configure: error: support for --no-whole-archive is needed,暫時未解決。

make && make install

需要等大概10分鐘。

輸入strings /lib64/libc.so.6|grep GLIBC發(fā)現(xiàn)已經(jīng)更新

執(zhí)行后,又會遇到下面的glibc++的錯誤:

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /opt/jmr/anaconda2/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)

同樣,直接升級glibc++來解決:

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX //注意地址: /usr/local/lib64/libstdc++.so.6

wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.9/libstdc++6_4.9.2-10_amd64.deb

ar -x libstdc++6_4.9.2-10_amd64.deb

xz -d data.tar.xz

tar xvf data.tar

cd usr/lib/x86_64-linux-gnu/

find / -name libstdc++.so.6

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak

cp libstdc++.so.6.0.20 /usr/lib64/

cd /usr/lib64/

chmod +x libstdc++.so.6.0.20

ln -s libstdc++.so.6.0.20 libstdc++.so.6

繼續(xù)執(zhí)行,報錯:

ImportError: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by libstdc++.so.6)

直接安裝最新版本,高版本是兼容低版本的,但是一些高版本是不能安裝在較低的軟件環(huán)境中:

從 http://ftp.gnu.org/pub/gnu/glibc/glibc-2.18.tar.xz 下載,重復(fù)上面的步驟。

把所有需要的依賴升級完后,安裝完成,最新版沒問題。

(二)Pip安裝

https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html#pip-installation

python3.5:

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl

sudo pip3 install --upgrade $TF_BINARY_URL

報錯:

Installing collected packages: setuptools, protobuf, numpy, tensorflow

Found existing installation: setuptools 23.0.0

Cannot remove entries from nonexistent file /export/App/anaconda3/envs/ml3/lib/python3.5/site-packages/easy-install.pth

(三)源碼安裝:

https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#installing-from-sources

(1)git clone https://github.com/tensorflow/tensorflow --recursive

(2)安裝google的bazel來編譯:

下載地址:https://github.com/bazelbuild/bazel/releases

chmod +x PATH_TO_INSTALL.SH

./PATH_TO_INSTALL.SH --user

直接安裝如果失敗,可以嘗試從源碼安裝bazel:

git clone https://github.com/ibmsoe/bazel

cd bazel

git checkout master

./compile.sh

Build successful! Binary is here: /export/App/bazel/output/bazel

注意安裝完后的路徑是上面給出的路徑,由于上面的sh已經(jīng)把bazel安裝到/usr/local/bin/bazel下,所以要使用新安裝的bazel修改

tensorflow/configure里的bazel改為絕對路徑。

(3)安裝其他依賴:

# For Python 2.7:

$ sudo apt-get install python-numpy swig python-dev python-wheel

# For Python 3.x:

$ sudo apt-get install python3-numpy swig python3-dev python3-wheel

(4)configuration:

./configure

會提示more than serveral minutes,以及修改參數(shù):

bazel clean --expunge_async

報錯:

ROR: /root/.cache/bazel/_bazel_root/9571b1b1b31378f1c909e87f9c9ba23a/external/com_googlesource_code_re2/BUILD:11:1: C++ compilation of rule '@com_googlesource_code_re2//:re2' failed: gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -Wall -Wl,-z,-relro,-z,now -B/usr/bin -B/usr/bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 ... (remaining 29 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.

In file included from external/com_googlesource_code_re2/re2/prog.h:19,

from external/com_googlesource_code_re2/re2/bitstate.cc:25:

This is due to the lack of cpu ram or swap. you can modify --jobs value or --ram_utilization_factor value . or check if there is any process that occupies large ram. and kill it. It happends to me that there may exist two bazel servers. so I need to kill one.

(5)Create the pip package and install:

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

報錯:

/usr/local/bin/bazel: line 88: /usr/local/lib/bazel/bin/bazel-real: cannot execute binary file

這里解決是重新安裝bazel,參考(2)中的從源碼安裝bazel

(6)安裝

mkdir _python_build

cd _python_build

ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .

ln -s ../tensorflow/tools/pip_package/* .

python setup.py develop

總結(jié)

以上是生活随笔為你收集整理的linux+3.10.0.tar.bz2,tensorflow在linux系统上的安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。