先來說說pytorch劣勢。自從其被髮布以來pytorch更多被用於學術界而不是工業界的實際生產,主要是因為它不夠成熟、很多介面不太穩定,加上其全面性也不夠,tensorflow目前仍然有很多pytorch不支援的功能,比如快速傅立葉變換,但這一點劣勢會隨著pytorch的發展而逐漸減小。除此此外,相比於tensorflow的容易各處部署的靜態圖(這一點遠勝於很多框架),以python優先的深度學習框架 pytorch在部署到其他產品會很不方便。
優勢先從上手時間開始說,雖然在2015年釋出之後tensorflow多方受寵,但是和theano一樣,tensorflow使用的是靜態計算圖,對於新手來說有過多需要新學習的概念,這導致了不管是入門還是搭建,使用tensorflow都比pytorch困難。而在2017年pytorch被團隊開源的主要原因之一也是讓建立深度學習模型更加簡單,這讓它發展十分迅猛。在資料載入上,pytorch載入資料的API簡單高效,其面向物件的API源自於porch(也是keras的設計起源),比tensorflow難學的API友好很多,使使用者可以將重點放在實現自己的想法,而不是被框架本身束縛住。
速度上,pytorch並沒有為了靈活性而放棄速度,雖然執行速度和程式設計師水平密切相關,但pytorch在相同情況下常有可能勝於其他框架的速度。另外,如果追求自定義拓展,pytorch也會是首選,因為雖然二者的構建和繫結有一定的相似點,但是tensorflow在拓展時會需要很多樣板程式碼,但pytorch只用編寫介面和實現。
先來說說pytorch劣勢。自從其被髮布以來pytorch更多被用於學術界而不是工業界的實際生產,主要是因為它不夠成熟、很多介面不太穩定,加上其全面性也不夠,tensorflow目前仍然有很多pytorch不支援的功能,比如快速傅立葉變換,但這一點劣勢會隨著pytorch的發展而逐漸減小。除此此外,相比於tensorflow的容易各處部署的靜態圖(這一點遠勝於很多框架),以python優先的深度學習框架 pytorch在部署到其他產品會很不方便。
優勢先從上手時間開始說,雖然在2015年釋出之後tensorflow多方受寵,但是和theano一樣,tensorflow使用的是靜態計算圖,對於新手來說有過多需要新學習的概念,這導致了不管是入門還是搭建,使用tensorflow都比pytorch困難。而在2017年pytorch被團隊開源的主要原因之一也是讓建立深度學習模型更加簡單,這讓它發展十分迅猛。在資料載入上,pytorch載入資料的API簡單高效,其面向物件的API源自於porch(也是keras的設計起源),比tensorflow難學的API友好很多,使使用者可以將重點放在實現自己的想法,而不是被框架本身束縛住。
速度上,pytorch並沒有為了靈活性而放棄速度,雖然執行速度和程式設計師水平密切相關,但pytorch在相同情況下常有可能勝於其他框架的速度。另外,如果追求自定義拓展,pytorch也會是首選,因為雖然二者的構建和繫結有一定的相似點,但是tensorflow在拓展時會需要很多樣板程式碼,但pytorch只用編寫介面和實現。