首頁 > 軟體

部署TensorFlow後匯入出現如下錯誤解決辦法

2020-06-16 17:24:01

部署環境:
作業系統:CentOS release 6.5 (Final)
Python版本:
Python 2.7.10 (default, Dec 22 2016, 14:45:25)
[GCC 4.8.2] on linux2

[root@linuxidc ~]# python
Python 2.7.10 (default, Dec 22 2016, 14:45:25)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Segmentation fault (core dumped)
[root@paris ~]#

解決方法:
問題:scipy和tensorflow衝突

部署環境:CentOS6 python2.7 scipy 0.12.0 tensorflow0.8.0

問題描述:

在上述環境中部署tensorflow0.8.0的時候,安裝沒有問題,import tensorflow時報錯:Segmentation fault (core dumped)

探索過程:

1、用virtualenv建立一個不附帶任何模組的純淨環境,安裝tensorflow發現安裝和使用一切正常

2、說明tensorflow和我的主機環境中某些模組有衝突

3、現在就要判斷與哪個模組衝突,為了節省時間,我在這用了類似於索引順序表查詢的想法,對照我的實體機環境,一次安裝多個模組,然後驗證是否出錯,直到出錯,說明問題處在最後一組,而一次安裝那些模組,是按照依賴關係來的,比如C依賴AB,我就把ABC放在一組,直接安裝C,順便也就安裝依賴AB,按照這種方法,找到了一組衝突,就是安裝sklearn之後tensorflow不能正常工作,出現如上報錯。於是判定應該是sklearn或者依賴模組與tensorflow衝突。挨個嘗試sklearn的依賴numpy、scipy時發現是scipy和tensorflow的衝突。

4、嘗試解決衝突:考慮到可能是版本問題,嘗試過多個版本的組合,發現scipy可以和tensorflow0.5.0共存,於是得到一個初步解決。但是,tensorflow的0.5.0缺少了一些新版的功能和優點,後通過下述方法解決

解決辦法:

手工編譯scipy:

到https://pypi.Python.org/pypi/scipy/

下載https://pypi.python.org/packages/05/5e/973bf71cfa865d962a68893e35e366a0a7ac0b713bc398b4e584c1bed982/scipy-0.17.1.tar.gz#md5=8987b9a3e3cd79218a0a423b21c8e4de

解壓後安裝:

python setup.py install

這樣就不會有衝突了

Ubuntu 16.04安裝設定TensorFlow GPU版本  http://www.linuxidc.com/Linux/2016-11/137561.htm

Ubuntu 16.04下CUDA8.0+Theano+Caffe+TensorFlow環境搭建  http://www.linuxidc.com/Linux/2016-09/135528.htm

TensorFlow 的Mac OS 下的部署和安裝  http://www.linuxidc.com/Linux/2016-07/133219.htm

TensorFlow編譯過程中遇到的問題及解決方案  http://www.linuxidc.com/Linux/2016-07/133216.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-01/139281.htm


IT145.com E-mail:sddin#qq.com