當前tf.keras是TensorFlow團隊主推的API,TF-Slim等大概不會再更新了。就build model,實現loss等核心功能來講,keras和TF-Slim並沒有明顯的高下之分。在調試演算法,可視化一些中間層的輸出時,TF-Slim要方便許多,而keras只能在on_epoch_end等callback中更新tensorboard,用起來麻煩。而在training調參時,,tf.keras提供的一些high level API很好用,完勝TF-Slim。

然而,當前tf.keras還不支持 quantization aware training,這對做演算法落地的同學來說就是不能用。github 的issue裏有Google的員工說會在今年Q2加進去,估計到時要強制大家升級成TensorFlow 2.0才能用這個功能。


《[PyTorch小試牛刀]實戰一·使用PyTorch擬合曲線(對比PyTorch與TensorFlow實現的區別)》https://blog.csdn.net/xiaosongshine/article/details/84585942,這篇博客對比了PyTorch與TF

《[Keras深度學習淺嘗]實戰三·RNN實現Fashion MNIST 數據集分類》https://blog.csdn.net/xiaosongshine/article/details/85159790,《[TensorFlow深度學習入門]實戰五·用RNN(LSTM)做手寫數字識別準確率98%+》https://blog.csdn.net/xiaosongshine/article/details/84675479,這兩篇是keras與TF的對比。

結論: 可以簡單理解為keras對應c語言,tf對應彙編語言。keras操作更簡單快捷,tf偏底層,使用有些繁瑣。tf2.0把keras包涵在tf內了,繼承了keras優點。

學習推薦: 筆者先學的tf,但是現在都不怎麼用了。學tf可以加深對網路的理解。keras可以加速開發。keras上手更快,tf學的更深入。這個要看你的具體需求了。。


tensorflow2.0的話,差異已經不大了


Keras又把tf的一些層封裝起來了。相對來說搭模型更容易。不過自定義的會更麻煩。。


keras將TensorFlow做了封裝,使用起來更方便。


karas 是tensorflow的高級封裝 各個框架肯定存在差異呀,用到哪查哪裡就可以了吧,完全的記憶很難也沒太大意義,感覺tf-slim很好用。


Keras只是一個傻瓜式的API而已,兩者的內核是一樣的


推薦閱讀:
相關文章