【2019.2.27更新】
Tensorflow1.13版本已經(jīng)正式發(fā)布凰慈,現(xiàn)在Python3.7直接安裝Tensorflow即可。
pip install tensorflow
本文的歷史使命宣告結(jié)束╰(°▽°)╯
如果讀者希望在Python3.7環(huán)境下安裝低于1.13版本的Tensorflow边翼,請(qǐng)向下查閱有關(guān)內(nèi)容。
【2019.2.15更新】
Tensorflow1.13版本將正式支持Python3.7,目前還未正式發(fā)布塔鳍,可以安裝RC版本。
注意:同時(shí)需要把NumPy升級(jí)到最新版本
pip install tensorflow==1.13.0rc1
pip install numpy --upgrade
經(jīng)測(cè)試呻此,Mac轮纫、Windows、Linux下都可以正常運(yùn)行焚鲜。
讓我們共同期待Tensorflow1.13版本的正式發(fā)布吧掌唾!
【2019.1.7更新】
關(guān)于Windows下出現(xiàn)“找不到DLL”錯(cuò)誤,導(dǎo)致無(wú)法import的問(wèn)題:
需要修改_pywrap_tensorflow_internal.pyd
忿磅,可以參考這個(gè)GitHub Link糯彬。
該文件為二進(jìn)制文件,最快捷的方式是利用https://hexed.it/這一網(wǎng)站進(jìn)行修改葱她。對(duì)于CPU版本撩扒,找到python36
(一處),將其替換為python37
即可吨些。
我已經(jīng)修改了一個(gè)適用于CPU的版本并上傳到百度網(wǎng)盤(pán)搓谆,鏈接: https://pan.baidu.com/s/14jTm2LUmjmvSgYsjyNJ9hw 提取碼: i453
下載后替換Python37\Lib\site-packages\tensorflow\python\
目錄下的同名文件即可。
如果需要GPU支持豪墅,則需要按照上面鏈接中的方法泉手,進(jìn)一步修改_pywrap_tensorflow_internal.pyd
和Python37\Lib\site-packages\tensorflow\python\platform
目錄下的build_info.py
文件。
具體操作為:將_pywrap_tensorflow_internal.pyd
中的64_90
全部替換為64_92
偶器,將build_info.py
中的64_90
替換為64_92
斩萌,9.0
替換為9.2
。
【11.27更新】最新版本的tensorflow 1.12.0已經(jīng)修改了async
變量名屏轰,可以直接安裝颊郎,方法如下
# Mac
pip install https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.12.0-py3-none-any.whl
# Linux CPU
wget https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.12.0-cp36-cp36m-linux_x86_64.whl
mv tensorflow-1.12.0-cp36-cp36m-linux_x86_64.whl tensorflow-1.12.0-cp37-cp37m-linux_x86_64.whl
pip install tensorflow-1.12.0-cp37-cp37m-linux_x86_64.whl
# Linux GPU
wget https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.12.0-cp36-cp36m-linux_x86_64.whl
mv tensorflow_gpu-1.12.0-cp36-cp36m-linux_x86_64.whl tensorflow_gpu-1.12.0-cp37-cp37m-linux_x86_64.whl
pip install tensorflow_gpu-1.12.0-cp37-cp37m-linux_x86_64.whl
# Windows CPU
# 下載https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.12.0-cp36-cp36m-win_amd64.whl
# 重命名文件,將36改為37
pip install tensorflow-1.12.0-cp37-cp37m-win_amd64.whl
# Windows GPU
# 下載https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl
# 重命名文件霎苗,將36改為37
pip install tensorflow_gpu-1.12.0-cp37-cp37m-win_amd64.whl
注意:Linux和Windows環(huán)境下姆吭,下載的wheel包在名稱(chēng)中顯示聲明了版本號(hào),為了能夠用pip正常安裝叨粘,需要一點(diǎn)小trick猾编,也就是將wheel文件改名。
使用時(shí)可能會(huì)有RuntimeWarning: compiletime version 3.6 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.7
升敲,并不影響使用答倡,可以忽略。
如果需要使用tensorflow 1.10.0或更早的版本驴党,下面??的方法仍然適用瘪撇。
Mac
Homebrew作為一個(gè)包管理器什么都好,就是在版本管理方面不太方便。默認(rèn)只能裝最新版本倔既,想回退到老版本得費(fèi)不少勁恕曲。這不,Python升級(jí)成3.7之后渤涌,就遇到了問(wèn)題:
不能導(dǎo)入tensorflow了E逡ァ!实蓬!
這可是出大事了茸俭。咋辦呢?搜索了很久后在github上找到了解答:原網(wǎng)頁(yè)鏈接
具體來(lái)說(shuō)安皱,原因就是Python3.7新引入了保留字async
调鬓,而tensorflow的代碼里,將其作為了變量名酌伊。要修改腾窝,方法也很簡(jiǎn)單:
首先找到下面這個(gè)文件:
/usr/local/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py
(如果用的是Anaconda這類(lèi)發(fā)行版,就到對(duì)應(yīng)的site-packages目錄下找居砖,不過(guò)用Anaconda的應(yīng)該沒(méi)這個(gè)問(wèn)題虹脯,因?yàn)锳naconda還沒(méi)有升級(jí)到Python3.7),然后搜索async
(注意區(qū)分大小寫(xiě))悯蝉,全部替換為async1
归形,保存關(guān)閉。
【11.21更新】注意鼻由,這里只替換單獨(dú)的
async
(請(qǐng)參考下方“太陽(yáng)家的貓”同學(xué)的評(píng)論。)
打開(kāi)IPython測(cè)試一下:
import tensorflow as tf
沒(méi)有問(wèn)題厚棵,成功導(dǎo)入啦蕉世。
附:在Python3.7下安裝tensorflow
因?yàn)楝F(xiàn)在tensorflow還沒(méi)有官方添加對(duì)Python3.7的支持,所以用pip直接安裝是搜索不到合適的tensorflow包的婆硬,這時(shí)候就需要直接從.whl安裝狠轻。具體方法為(以Mac為例):
pip install https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.10.0-py3-none-any.whl --upgrade
如果訪問(wèn)不了這個(gè)地址的,請(qǐng)自行解決彬犯。
安裝好之后向楼,就按照上面的方法修改一下async
就可以啦。