當前位置:
首頁 > 知識 > TensorFlow,為什麼選擇 PyThon 作為開發語言?

TensorFlow,為什麼選擇 PyThon 作為開發語言?

這裡是 AI 研習社,我們的問答版塊已經正式推出了!歡迎大家來多多交流~

https://club.leiphone.com/page/question


社長為你推薦來自 AI 研習社問答社區的精華問答。如有你也有問題,歡迎進社區提問。

話不多說,直接上題

問:TensorFlow,為什麼選擇 PyThon 作為開發語言?

為什麼 Python被Google選為TensorFlow 的開發語言呢?使用 Python 比C ++語言進行機器學習有什麼優勢?

來自社友的回答

@aRiceman

其實TensorFlow大部分內核並不是用Python編寫的 :它是高度優化了C ++和CUDA(Nvidia用於編程GPU的語言)的組合。 相反,通常它是使用了Eigen (高性能C ++和CUDA庫)和NVidia的cuDNN (用於NVidia GPU的非常優化的DNN庫,用於卷積等功能)。

TensorFlow的模型是程序員用「一種語言」(很可能是Python!)來表達。 這個模型,是寫在TensorFlow結構中的,如:

當Python運行時,實際上並沒有被執行。 相反,實際創建的是一個數據流圖 ,表示採取特定輸入,應用特定操作,將結果提供給其他操作的輸入,等等。 該模型由快速C ++代碼執行,並且在大多數情況下,操作之間的數據不會被複制回Python代碼 。

然後,程序員通過拉扯節點來驅動這個模型的執行,通常用Python進行訓練,有時在Python中,有時是在原始的C ++中:

sess.run(eval_results)

這一個Python程序(或C ++函數調用)使用C ++的進程內調用或分散式版本的RPC調用C ++ TensorFlow伺服器來告訴它執行,然後複製結果。

所以說,我們再說一下這個問題:為什麼TensorFlow選擇Python作為表達和控制模型訓練而且支持的非常好的語言?

答案很簡單:Python可能是大量數據科學家和機器學習專家用的最舒適的語言,也是易於集成和控制C ++後端的語言,同時也是廣泛使用與谷歌的公司內外和他們的開源產品。 鑒於使用TensorFlow的基本模型,Python的性能並不重要,這是一個很自然的契合。 NumPy也是一個巨大的加分,它可以很容易地在Python中進行預處理(也是高性能),然後將它們提供給TensorFlow,以獲得真正CPU-heavy的東西。

@夢幻水藍

庫多,數據存儲方便,其它語言交互方便,圖形圖像方便,還有雲系統Python開源,矩陣各種運算和操作也挺方便的。

@機器人X

因為C++學習成本太高。

@熱蘇斯

Python允許您使用C和C ++創建擴展模塊,與本機代碼進行交互,仍然可以獲得Python為您提供的優勢。

TensorFlow使用Python,但它也包含大量的 C++。

它允許你使用更簡單的介面進行實驗,用Python減少思考量,並通過C++編譯最重要的部分來增加性能。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

alexnet,VGG-16 怎樣調整訓練圖像的尺寸大小不一?強行拉伸和填充會不會影響訓練?
Python程序員深度學習「四大名著」之一

TAG:AI研習社 |