TensorFlow 1.2正式发布,新增Python 3.6支持
TensorFlow 1.2.0今日正式發(fā)布。
主要功能和改進(jìn)點(diǎn):
在Windows系統(tǒng)下新增對(duì)Python 3.6的支持。
新增函數(shù)tf.layers.conv3d_transpose,用于時(shí)空反卷積操作。
新增函數(shù)tf.Session.make_callable(),降低了多次運(yùn)行類似操作的計(jì)算開銷。
新增基于ibverbs的RDMA支持(遠(yuǎn)程直接數(shù)據(jù)存取)(由雅虎的junshi15貢獻(xiàn))。
RNNCell現(xiàn)在為tf.layers.layer的子類對(duì)象。嚴(yán)格來說,在tensorflow 1.1版本已經(jīng)發(fā)布這個(gè)子類:第一次使用了RNNCell單元,緩存了其作用域。在接下來用到該rnncell單元時(shí),可以重復(fù)使用同一作用域中的變量。在TensorFlow1.0.1版本及其以下中,這個(gè)關(guān)于RNNCells的調(diào)整是個(gè)突破性變化。在TensorFlow1.1版本中,已經(jīng)確保先前代碼能夠按照新的語義正確運(yùn)行;這個(gè)版本允許更靈活地使用RNNCell,但是TensorFlow版本低于1.0.1時(shí),可能會(huì)報(bào)錯(cuò)。比如,寫入:MultiRNNCell([lstm] * 5),將會(huì)構(gòu)建一個(gè)五層LSTM網(wǎng)絡(luò),每層共享相同的參數(shù)。想要得到一個(gè)各層具有不同參數(shù)的LSTM網(wǎng)絡(luò),要寫入:MultiRNNCell([LSTMCell(…) for _ in range(5)])。如果仍然不確定,先在TF 1.1中測(cè)試你的代碼;確保沒有報(bào)錯(cuò)后,再升級(jí)到TF 1.2。
TensorForest Estimator已經(jīng)支持用于服務(wù)的SavedModel輸出。
支持客戶端提供的ClusterSpec’s,分配給所有工作者,確保能創(chuàng)建動(dòng)態(tài)更新的TensorFlow集群。
TensorFlow C語言庫新增對(duì)Windows系統(tǒng)的支持。
發(fā)布了一個(gè)新版的開源TensorBoard。
在SavedModel中,SavedModel CLI工具可用來檢查和執(zhí)行SavedModel。
TensorFlow的安卓版本已經(jīng)被推送到j(luò)center上,用戶能更容易地部署到應(yīng)用程序中。更多細(xì)節(jié)請(qǐng)?jiān)L問:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/readme.md
已經(jīng)重命名RNNCells的變量名稱,與Keras層保持一致。具體來說,先前的變量名“weights”和“biases”分別更新為“kernel”與“bias”。如果你原來的checkpoints中含有這樣的RNN單元,這可能導(dǎo)致傳播過程中的不兼容性,則可以使用checkpoint_convert scrip工具更改原有checkpoints中的變量名。
在TensorFlow1.0版本之前,許多RNN函數(shù)和子類都定義在tf.nn命名空間里,現(xiàn)在已經(jīng)被移回核心空間。這里包括了RNNCell,LSTMCell,GRUCell和一些其他單元,如今存放在tf.nn.rnn_cell函數(shù)中(先前的tf.contrib.rnn函數(shù)向后兼容)。先前的tf.nn.rnn函數(shù)更名為tf.nn.static_rnn,雙向靜態(tài)和狀態(tài)存儲(chǔ)靜態(tài)rnn函數(shù)也被放回tf.nn命名空間中。
還有一個(gè)需注意的例外是,EmbeddingWrapper,InputProjectionWrapper和OutputProjectionWrapper,這三者將會(huì)慢慢被移動(dòng)到tf.contrib.rnn的棄用函數(shù)中。在rnn網(wǎng)絡(luò)的預(yù)處理和后期處理階段,應(yīng)該替換掉一些低效率的包裝函數(shù),使用embedding_lookup或layers.dense進(jìn)行替換。在RNN解碼過程中,這一功能已經(jīng)一個(gè)可用的API tf.contrib.seq2seq所取代。
英特爾MKL集成(https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture)。英特爾開發(fā)了一系已經(jīng)優(yōu)化過的深度學(xué)習(xí)基元:除了矩陣乘法和卷積外,還包括以下模塊:(1).直接批量卷積;(2).池化操作:最大化,最小化,平均化;(3).標(biāo)準(zhǔn)化:LRN,批歸一化;(4).激活函數(shù):線性整流單元(ReLU);(5).數(shù)據(jù)處理:多維移項(xiàng)(轉(zhuǎn)換),分解,合并,相加和降維。
另外需要特別注意的是,TensorFlow 1.2可能是租后一次使用CuDNN 5.1構(gòu)建。后續(xù)版本TensorFlow 1.3應(yīng)該會(huì)基于CuDNN 6.0,但會(huì)盡量兼容CuDNN 5.1。
更多詳情,可以訪問如下地址查看:
https://github.com/tensorflow/tensorflow/releases/tag/v1.2.0
總結(jié)
以上是生活随笔為你收集整理的TensorFlow 1.2正式发布,新增Python 3.6支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARKit教程推荐
- 下一篇: HTTPS性能分析小工具HTTPStat