TensorFlow 1.0 新增功能和部分改善

TensorFlow 1.0 新增功能及改善


XLA(實驗版):初始版本的XLA,針對TensorFlow圖(graph)的專用編譯器,面向CPU和GPU。
TensorFlow Debugger(tfdbg):命令行界面和API。
添加了新的python 3 docker圖像。
使pip包兼容pypi。TensorFlow 現在可以通過 [pip install tensorflow] 命令安裝。
更改了幾個python API的調用方式,使其更類似 NumPy。
新的(實驗版)Java API。
Android:全新人物檢測+跟蹤演示實現——“Scalable Object Detection using DNN”(帶有額外的YOLO對象檢測器支持)。
Android:全新基於攝像頭的圖像風格轉換演示,使用了神經網絡藝術風格轉換技術。
  重大 API 變動
  爲了幫助您升級現有的TensorFlow Python代碼以匹配以下API更改,我們準備了一個轉換腳本,詳見:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility
TensorFlow / models 已經被移動到一個單獨的github庫。
除法和模運算符(/,//,%)現在匹配Python(flooring)語義。這也適用於 [tf.div] 和 [tf.mod]。要獲取基於強制整數截斷的行爲,可以使用 [tf.truncatediv] 和 [tf.truncatemod]。
現在推薦使用 [tf.divide()] 作爲除法函數。[tf.div()] 將保留,但它的語義不會迴應 Python 3 或 [from future] 機制。
tf.reverse() 現在取軸的索引要反轉。例如 [tf.reverse(a,[True,False,True])] 現在必須寫爲 [tf.reverse(a,[0,2])]。 [tf.reverse_v2()] 將保持到 TensorFlow 1.0 最終版。
[tf.mul,tf.sub ] 和 [tf.neg] 不再使用,改爲 [tf.multiply],[tf.subtract] 和 [tf.negative]。
[tf.pack] 和 [tf.unpack] 棄用,改爲 [tf.stack] 和 [tf.unstack]。
[TensorArray.pack] 和 [TensorArray.unpack] 在棄用過程中,將來計劃啓用 [TensorArray.stack] 和 [TensorArray.unstack]。
以下Python函數的參數在引用特定域時,全部改爲使用 [axis]。目前仍將保持舊的關鍵字參數的兼容性,但計劃在 1.0 最終版完成前刪除。
tf.listdiff 已重命名爲 tf.setdiff1d 以匹配 NumPy 命名。
tf.inv 已被重命名 爲tf.reciprocal(組件的倒數),以避免與 np.inv 的混淆,後者是矩陣求逆。
tf.round 現在使用 banker 的舍入(round to even)語義來匹配 NumPy。
tf.split 現在以相反的順序並使用不同的關鍵字接受參數。我們現在將 NumPy order 匹配爲tf.split(value,num_or_size_splits,axis)。
tf.sparse_split 現在採用相反順序的參數,並使用不同的關鍵字。我們現在將  NumPy order 匹配爲tf.sparse_split(sp_input,num_split,axis)。注意:我們暫時要求 tf.sparse_split 需要關鍵字參數。
tf.concat 現在以相反的順序並使用不同的關鍵字接受參數。特別地,我們現在將NumPy order匹配爲tf.concat(values,axis,name)。
默認情況下,tf.image.decode_jpeg 使用更快的DCT方法,犧牲一點保真度來提高速度。通過指定屬性 dct_method ='INTEGER_ACCURATE',可以恢復到舊版行爲。
tf.complex_abs 已從 Python 界面中刪除。 tf.abs 支持複雜張量,現在應該使用  tf.abs。
Template.var_scope 屬性重命名爲 .variable_scope
SyncReplicasOptimizer 已刪除,SyncReplicasOptimizerV2 重命名爲 SyncReplicasOptimizer。
tf.zeros_initializer()和tf.ones_initializer()現在返回一個必須用initializer參數調用的可調用值,在代碼中用tf.zeros_initializer()替換 tf.zeros_initializer。
SparseTensor.shape 已重命名爲 SparseTensor.dense_shape。與 SparseTensorValue.shape 相同。
分別替換tf.scalar_summary,tf.histogram_summary,tf.audio_summary,tf.image_summary 與tf.summary.scalar,tf.summary.histogram,tf.summary.audio,tf.summary.image。新的摘要ops以名字而不是標籤作爲它們的第一個參數,意味着摘要ops現在尊重TensorFlow名稱範圍。
使用 tf.summary.FileWriter 和 tf.summary.FileWriterCache 替換 tf.train.SummaryWriter 和tf.train.SummaryWriterCache。
從公共 API中 刪除 RegisterShape。使用C++形狀函數註冊。
Python API 中的 _ref dtypes 已經棄用。
在C++ API(in tensorflow/cc)中,Input,Output等已經從 tensorflow::ops 命名空間移動到 tensorflow。
將 {softmax,sparse_softmax,sigmoid} _cross_entropy_with_logits的arg order 更改爲(labels,predictions),並強制使用已命名的args。
  Bug 修改及其他變動
新的運算 op:parallel_stack。
爲 RecordReader/RecordWriter 增加了 tf io 壓縮選項常量。
添加了 sparse_column_with_vocabulary_file,指定將字符串特徵轉換爲ID的特徵欄(feature column)。
添加了 index_to_string_table,返回一個將索引映射到字符串的查找表。
添加 string_to_index_table,返回一個將字符串與索引匹配的查找表。
添加 ParallelForWithWorkerId 函數。
添加 string_to_index_table,返回一個將字符串與索引匹配的查找表。
支持從 contrib / session_bundle 中的v2中的檢查點文件恢復會話。
添加了 tf.contrib.image.rotate 函數,進行任意大小角度旋轉。
添加了 tf.contrib.framework.filter_variables 函數,過濾基於正則表達式的變量列表。
make_template()可以添加 custom_getter_ param。
添加了關於如何處理 recursive_create_dir 現有目錄的註釋。
添加了QR因式分解的操作。
Python API 中的分割和 mod 現在使用 flooring(Python)語義。
Android:預構建的libs現在每晚構建。
Android: TensorFlow 推理庫 cmake/gradle build 現在歸在 contrib/android/cmake下面
Android:更強大的會話初始化(Session initialization)代碼。
Android:當調試模式激活時,TF stats現在直接顯示在demo和日誌中
Android:全新/更好的 README.md 文檔
saved_model可用作tf.saved_model。
Empty op 現在是有狀態的。
提高CPU上ASSIGN運算的 scatter_update 的速度。
更改 reduce_join,使其處理 reduction_indices 的方式與其他 reduce_ops 相同。
將 TensorForestEstimator 移動到 contrib/tensor_forest。
默認情況下啓用編譯器優化,並允許在 configure 中進行配置。
使指標權重 broadcasting 更加嚴格。

添加新的類似隊列的 StagingArea 和新運算 ops:stages 和 unstage。



發佈了45 篇原創文章 · 獲贊 53 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章