Pycharm下安装Tensorflow
趁著幫師妹看Github上的一個項目,督促自己學習一下Python下訓練神經網絡的一整套流程。沒想到在一開頭就遇到了不少問題。首先是Pycharm中導入Github項目的問題,還有安裝tensorflow的問題,之后又遇到了多種版本的Python共存的問題。在這里記錄一下,包括一些開源鏡像,方便日后查閱。
Justin-Tan實現了一篇文章提出的基于GAN網絡壓縮圖像的目標。原理基本就是生成一幅盡可能和原圖相似的圖像,讓鑒別器難以分辨,同時使得圖像占用內存空間盡可能小。可以在大小比常規方法縮小一半的同時,圖像質量提高到兩倍。
說到git,這是個版本控制系統,Linux自己用c寫成的,因為需要協同工作,每個人都可能對某部分進行改動,生成不同版本,有了Git就可以方便地回到每個版本。當然有其他版本控制系統如SVN,但是代碼托管平臺Github只支持Git,這也是Github得名的原因。之前使用Github大多是c++代碼,都是下載了zip壓縮包,然后到本地重新進行編譯。但是對于Python還沒怎么接觸。看到一篇博客,發現可以直接在Pycharm通過版本控制從Github上面clone得到項目工程。簡單來說就是在setting中的version control中的Github中登錄自己的賬號,并且明確自己安裝的Git.exe的路徑。
這個項目依賴于TensorFlow1.8.但是在pycharm中卻一直安裝失敗(其實也是在后臺執行pip install tensorflow),升級pip之后仍然報錯; AttributeError: module 'pip' has no attribute 'main'。參考將pycharm安裝目錄下 helpers/packaging_tool.py文件的install和uninstall部分進行修改后,仍然有錯:Non-zero exit code (1)。這就是說明pycharm沒有找到合適的TensorFlow版本。其實安裝package最重要的就是版本對應和網絡環境。
這就需要鏡像。鏡像的使用有兩種方法,一種是讓電腦在鏡像中自動尋找匹配的版本:在Terminal端使用:
pip install pandas -i https://pypi.douban.com/simple #利用豆瓣鏡像源自動選擇合適版本, pip install tensorflow -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com #或者使用阿里云一種需要手動尋找合適的版本。我從加州歐文大學的一個生物醫學熒光光譜學研究中心下載輪子(wheel),安裝命令可以在PowerShell中執行,也可以在Git Bash中執行,只要要cd到whl所在路徑下(也可直接將文件拖動到)。按照命令也很簡單:
pip install XXXXX.whl #兩種方法都可以 pip install --upgrade tensorflow-1.0.0-cp35-cp35m-win_amd64.whl #會按照一些依賴工具現在說明一下什么樣子的才是合適的版本。1.tensorflow只支持64位的python,機器也必須是64位的。2.tensorflow的版本與python有關,cp36意味著對應的python版本是3.6.。3.太老的CPU支持不了太新版本的tensorflow,因為缺少VAX的指令集。
關于1,2,無非就是重新安裝一個新的python版本,可參考教程。或者卸載原來的tensorflow:pip uninstall tensorflow。麻煩的是如果本地存在多個python版本,如何使用pip指令。以我自己為例,兩個python3.6和3.7路徑不同,但安裝目錄下兩個可執行文件名都是python.exe。為了在cmd中可以由用戶決定進入哪種python,可以將兩種python.exe分別重命名為python36.exe和python37.exe。同樣的,在使用pip安裝whl的時候也要聲明要將whl安裝在哪個版本的python下,如果依然直接使用pip install XXX就會報錯,平臺不支持,因為不同版本的python都包含pip。自己嘗試直接將pip重命名,依然不對。正確做法:Python36 –m pip install XXX
第三點也是個大坑,因為我本來都安裝成功了,結果在嘗試import時報錯:ImportError: DLL load failed with error code -1073741795。原因就是之前提到的,硬件條件太差,不僅沒有GPU加速,CPU也太落伍,不支持新的tensorflow。在tintinMovie的github(https://github.com/tintinmovie/Guides_and_Solutions/blob/master/Tensorflow%20-%20No%20module%20named%20'_pywrap_tensorflow_internal'.md)中中解釋了這個問題,在其鏈接中可以查看自己的CPU是否支持VAX。如果真的不支持,一種方法是使用低版本的tf:pip install tensorflow==1.5。但在這個項目中要求使用的tf版本是1.8的,該怎么辦呢?這就要多謝fo40225大神重新編譯的基于SSE指令集的tensorflow版本了。
到這里,應該就可以順利地安裝成功了。因為是在cmd命令行安裝的,為了在pycharm中使用模塊,可以在setting中勾選如下選項,繼承全局package。
總體來講,pycharm安裝package的方法很傻瓜,應付大部分第三方模塊是足夠的,只不過遇到網絡問題或者版本問題就需要自己多動幾下手啦。希望能多少幫助到一些朋友。
?
總結
以上是生活随笔為你收集整理的Pycharm下安装Tensorflow的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指 Offer 09. 用两个栈实现队
- 下一篇: 图像的旋转和尺度缩放在对数极坐标系下的研