《TensorFlow從0到1》寫(xiě)到現(xiàn)在暇番,TensorFlow的版本也從當(dāng)時(shí)的1.1.0迭代到了8月初發(fā)布的1.3.0坤按。可以預(yù)見(jiàn)在未來(lái)很長(zhǎng)一段時(shí)間里哄辣,它仍會(huì)持續(xù)快速的迭代更新。
除了考慮與最新版TensorFlow盡量保持同步之外挖藏,鑒于conda虛擬環(huán)境可以非常容易的重新構(gòu)建開(kāi)發(fā)環(huán)境,并可以和老的并存,所以對(duì)于學(xué)習(xí)者來(lái)說(shuō)意狠,似乎沒(méi)有什么理由不下手了。
本篇基于1 Hello,TensorFlow!疮胖,在Windows環(huán)境下安裝CPU版TensorFlow 1.3.0环戈。
Step 1:新建conda虛擬環(huán)境
在1 Hello,TensorFlow!中創(chuàng)建了conda虛擬環(huán)境“tensorflow” for 1.1.0。為了保留它澎灸,我以“tensorflow13”命名新的conda虛擬環(huán)境for 1.3.0:
C:> conda create -n tensorflow13
Step 2:升級(jí)Python到3.6.1+
從TensorFlow 1.2.0開(kāi)始支持了Python 3.6.x院塞,在上一節(jié)創(chuàng)建conda虛擬環(huán)境“tensorflow13”時(shí)沒(méi)有特別指定Python版本,所以此時(shí)我的Python版本是Anaconda 4.3.1的默認(rèn)搭配3.6.0性昭。
可是Python3.6.0并不行拦止。TensorFlow 1.3.0會(huì)安裝依賴Numpy的1.13.1版本,這個(gè)版本在Python3.6.0下會(huì)產(chǎn)生問(wèn)題:Importing the multiarray numpy extension module failed糜颠。
解決上面問(wèn)題一個(gè)簡(jiǎn)單可行的辦法就是升級(jí)Python到3.6.1+汹族,我則直接更新到了最新的3.6.2:
activate tensorflow13
conda update python
Step 3:升級(jí)dask
現(xiàn)在還是不要著急安裝TensorFlow 1.3.0,否則可能會(huì)遇到新問(wèn)題:“AttributeError: module 'pandas' has no attribute 'computation'”括蝠。
解決它的一個(gè)簡(jiǎn)單辦法就是升級(jí)dask到0.15.1:
conda install dask
Step 4:安裝TensorFlow 1.3.0
終于到安裝TensorFlow 1.3.0了鞠抑!遺憾的是清華大學(xué)開(kāi)源軟件鏡像站遲遲未提供TensorFlow 1.3.0 Windows版本安裝包(Linux和Mac下沒(méi)有這個(gè)問(wèn)題),而只提供了1.3.0rc0的版本忌警。
另一個(gè)提供TensorFlow安裝包的源是Python的官網(wǎng)搁拙,可以先將CPU版安裝包tensorflow-1.3.0-cp36-cp36m-win_amd64.whl下載到本地,然后執(zhí)行本地安裝:
pip install --ignore-installed --upgrade D:\Project\TensorFlow\tensorflow-1.3.0-cp36-cp36m-win_amd64.whl
代碼遷移
本系列的示例代碼存放在GitHub法绵,其中文件夾命名的含義如下:
- TF1_1:TensorFlow 1.1.0下運(yùn)行的代碼箕速;
- TF1_3:TensorFlow 1.3.0下運(yùn)行的代碼;
本篇之前的示例代碼都在文件夾TF1_1中(大多數(shù)都可以在TensorFlow 1.3.0環(huán)境下無(wú)需修改直接運(yùn)行)朋譬,后面新的示例代碼都會(huì)在TensorFlow 1.3.0下測(cè)試并提交到TF1_3中盐茎。
Hello, TensorFlow
在虛擬環(huán)境tensorflow13中,啟動(dòng)python徙赢,運(yùn)行以下測(cè)試:
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
打印成功則表示安裝成功字柠。
共享協(xié)議:署名-非商業(yè)性使用-禁止演繹(CC BY-NC-ND 3.0 CN)
轉(zhuǎn)載請(qǐng)注明:作者黑猿大叔(簡(jiǎn)書(shū))