Tensorflow安裝及遇到的各種問題及解決過程(Windows)

Anaconda+Tensorflow+RetinaNet模型(檢驗環境是否ok):

在使用本文講述的環境搭建之前,首先你需要安裝Anaconda……如,我的Anaconda3-5.2.0安裝在了E:\Python\Anaconda3中,接下來如何建立整潔的conda環境以及tensorflow環境配置。

1.    打開Anaconda Prompt,查看當前所有的conda環境:conda info -e

       一開始只有root

2.    創建conda環境的方法:conda create -n tensorflow pip python=3.6.2

       這樣就會得到如上圖所示的“tensorflow”環境了,命名“tensorflow”(根據自己需求來)

3.    激活進入環境:activate tensorflow

4.    查看環境內的packages列表(不同環境下相互之間不影響,package根據需求可在相應環境下獨立安裝):conda list

       紅框表示這些包在“tensoflow”環境下。

5.    在使用pip命令安裝的時候,經常因爲源的緣故,下載速度極其慢導致失敗。採用好的源能夠快很多:

       國內源:

                          清華:https://pypi.tuna.tsinghua.edu.cn/simple
                          阿里雲:http://mirrors.aliyun.com/pypi/simple/
                          中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/

              使用方法:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple [包名]

              使用“[包名]==[版本號]”可以指定安裝特定版本;

6.    接下來是安裝tensorflow和採用RetinaNet模型進行環境檢測的過程(中間遇到很多問題並一一解決):

       (1)首次安裝時,我採用的是:conda install tensorflow-gpu==1.10.0

           結果不僅安裝了tensorflow,還奇蹟般地安裝了cuda和cudnn,並且與tensorflow、gpu兼容;

          (原本還想安裝網上的教程一個個安裝的,現在感覺可以省很多事),import tensorflow成功。

       (2)接着拿retinaNet模型來試一下環境,從網上下載模型(github:https://github.com/fizyr/keras-retinanet)

           打開/keras-retinanet-master,裏面的setup.py文件用於安裝這個模型的依賴包,按照README.md文件指引是推薦                   我們使用:pip install .  ,安裝所有的依賴包,但是這樣有機率出現解析很慢/卡死/需要等很久的情況,這裏我踩了                     坑,很多次都沒搞定,因此後來不採用這個方法; 

           打開setup.py文件,可以看到該模型需要的依賴包和要求:

           根據需求,我們依次在我們建立的“tensorflow”環境下使用:pip install [包名]  命令進行安裝即可。(安裝過程中有                   可能會提示你Keras版本過高等問題,按照提示安裝提示推薦的適用版本即可。

       (3)最後想運行識別代碼peoplecar.py看一下,

           結果報錯:ValueError: numpy.dtype has the wrong size, try recompiling

           這是numpy版本太低的原因,

               pip uninstall numpy

               pip install numpy #這樣會安裝最新的numpy

           安裝過程中提示,tensorflow要求的numpy版本有範圍限制,不能大於1.14.5或者小於……,這就尷尬了版本太高又                   不行,通過試安裝1.14.5,報同樣的錯;

           因此只能含淚卸載tensorflow,接着安裝tensorflow==1.14.0,接着把numpy也升到最新。痛苦的事情又發生了,這                   次import tensorflow就報錯了,提示需要10.0的cuda,但是我的gpu只能兼容9的……

           再一次卸載tensorflow,安裝tensorflow==1.12.0,mport tensorflow #成功。

           接着運行模型代碼,報錯:
                            FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy,                         it will be understood as (type, (1,)) / '(1,)type'._np_quint8 = np.dtype([("quint8", np.uint8, 1)])
                   numpy版本太高,降低到1.16.5,最後代碼跑通(完美~)。

最後,大功告成,併成功將包都裝在了自己需要的地方,不會向以前那樣,環境越來越亂。。。

附上我適用的人車識別源代碼,github:https://github.com/RoyPeng-yz/Human_Vehicle-Identification-System

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章