Keras 2.3.0 發布:支持TensorFlow 2.0
Keras團隊宣布發布Keras 2.3.0,這是第一個支持TensorFlow 2.0的多後端Keras版本。這也是多後端Keras的最後一個主要版本。它與TensorFlow 1.14,1.13,Theano和CNTK向後兼容。
Keras主要關注tf.keras,同時繼續支持Theano/CNTK
此版本附帶了許多API更改,以使多後端Keras API與TensorFlow的高級API tf.keras「同步」。但是,有些TensorFlow 2.0功能不受支持。這就是團隊建議開發人員在TensorFlow 2.0中將他們的Keras代碼切換到tf.keras的原因。
遷移到tf.keras將使開發人員能夠訪問諸如快速執行,TPU培訓以及低級TensorFlow與Layer和Model等高級概念之間更好的集成。
在此版本發布後,該團隊計劃主要關注tf.keras的進一步發展。「發展將重點關注未來的發展。我們將在未來6個月內繼續維護多後端Keras,但我們只會合併錯誤修復。API更改將不會被移植,「該團隊寫道。
為了讓社區更容易為Keras的開發做出貢獻,該團隊將在keras-team/keras的獨立GitHub存儲庫中開發tf.keras。
Keras 2.3.0中的API更新
以下是Keras 2.3.0中的一些API更新:
add_metric方法被添加到Layer/Model,它類似於add_loss方法,但是用於指標。
Keras 2.3.0引入了幾個基於類的丟失,包括MeanSquaredError,MeanAbsoluteError,BinaryCrossentropy,Hinge等。通過此更新,可以通過構造函數參數來參數化丟失。
添加了許多基於類的度量標準,包括Accuracy,MeanSquaredError,Hinge,FalsePositives,BinaryAccuracy等。此更新使度量標準可以通過構造函數參數進行有狀態和參數化。
train_on_batch和test_on_batch方法現在有一個名為resent_metrics的新參數。您可以將此參數設置為True,以便在編寫較低級別的培訓或評估循環時維護不同批次的度量標準狀態。
model.reset_metrics()方法被添加到Model中,以便在編寫較低級別的訓練或評估循環時清除紀元開始時的度量標準狀態。
Keras 2.3.0的重大變化
隨著API的變化,Keras 2.3.0包含一些重大變化。在此版本中,不推薦使用batch_size,write_grads,embeddings_freq和embeddings_layer_names,因此在與TensorFlow 2.0一起使用時會被忽略。現在將根據用戶指定的確切名稱報告指標和損失。此外,默認的重複激活在所有RNN層中從hard_sigmoid更改為sigmoid。
查看官方公告,了解Keras 2.3.0中還有哪些消息。