一,Tensorflow2 還是Pytorch?
先說結論:
如果是工程師,應該優先選TensorFlow2.
如果是學生或者研究人員,應該優先選擇Pytorch.
如果時間足夠,最好Tensorflow2和Pytorch都要學習掌握。
理由如下:
- 1,在工業界最重要的是模型落地,目前國内的幾乎所有網際網路企業都支援TensorFlow模型的線上部署。 并且 TensorFlow 高可用,而工業界也更加注重的是模型的高可用性。
- 2,研究人員最重要的是快速疊代發表文章,需要嘗試一些較新的模型架構。而Pytorch在易用性上相比TensorFlow2有一些優勢,更加友善調試。 并且在 2019 年以來在學術界占領了大半壁江山,能夠找到的相應最新研究成果更多。
- 3,TensorFlow2和Pytorch實際上整體風格已經非常相似了,學會了其中一個,學習另外一個将比較容易。兩種架構都掌握的話,能夠參考的開源模型案例更多,并且可以友善地在兩種架構之間切換。
二、Keras 和 tf.keras
先說結論:
Keras庫在2.3.0版本後将不再更新,使用者應該使用 tf.keras。
Keras可以看成是一種深度學習架構的高階接口規範,它幫助使用者以更簡潔的形式定義和訓練深度學習網絡。
使用pip安裝的Keras庫同時在tensorflow,theano,CNTK等後端基礎上進行了這種高階接口規範的實作。
而tf.keras是在TensorFlow中以TensorFlow低階API為基礎實作的這種高階接口,它是Tensorflow的一個子子產品。
tf.keras絕大部分功能和相容多種後端的Keras庫用法完全一樣,但并非全部,它和TensorFlow之間的結合更為緊密。
随着谷歌對Keras的收購,Keras庫2.3.0版本後也将不再進行更新,使用者應當使用tf.keras而不是使用pip安裝的Keras.
三、本書面向讀者
本書假定讀者有一定的機器學習和深度學習基礎,使用過Keras或者Tensorflow1.0或者Pytorch搭建訓練過模型。
對于沒有任何機器學習和深度學習基礎的同學,建議在學習本書時同步參考學習《Python深度學習》一書。
此書是Keras之父Francois Chollet所著,假定讀者無任何機器學習知識,以Keras為工具,使用豐富的範例示範深度學習的最佳實踐,該書通俗易懂,全書沒有一個數學公式,注重培養讀者的深度學習直覺。
該書電子版下載下傳連結:
https://pan.baidu.com/s/1-4q6VjLTb3ZxcefyNCbjSA
提取碼:wtzo
四,本書寫作風格
本書是一本對人類使用者極其友善的TensorFlow2.0入門工具書,不刻意惡心讀者是本書的底限要求,Don't let me think是本書的最高追求。
本書主要是在參考TensorFlow官方文檔和函數doc文檔基礎上整理寫成的。
但本書在篇章結構和範例選取上做了大量的優化。
不同于官方文檔混亂的篇章結構,既有教程又有指南,缺少整體的編排邏輯。
本書按照内容難易程度、讀者檢索習慣和TensorFlow自身的層次結構設計内容,循序漸進,層次清晰,友善按照功能查找相應範例。
不同于官方文檔冗長的範例代碼,本書在範例設計上盡可能簡約化和結構化,增強範例易讀性和通用性,大部分代碼片段在實踐中可即取即用。
如果說通過學習TensorFlow官方文檔掌握TensorFlow2.0的難度大概是9的話,那麼通過學習本書掌握TensorFlow2.0的難度應該大概是3.
謹以下圖對比一下TensorFlow官方教程與本教程的差異。

五,本書學習方案
本書是作者利用工作之餘和疫情放假期間大概2個月寫成的,大部分讀者應該在30天可以完全學會。
預計每天花費的學習時間在30分鐘到2個小時之間。
當然,本書也非常适合作為TensorFlow的工具手冊在工程落地時作為範例庫參考。