我最近在Coursera上採用了Andrew Ng的方法。之後,我轉向Python並使用Pandas,Numpy,Sklearn來實現ML算法。現在在衝浪的時候,我碰到了tensorFLow,發現它非常驚人,並且實現了這個以MNIST數據爲輸入的example。 但我不確定爲什麼使用如庫(TensorFlow)? 我們不做任何並行計算,因爲在前一個時代更新的權重用於下一個時期? 我發現很難找到使用這種庫的理由嗎?爲什麼使用TensorFlow進行卷積神經網絡
1
A
回答
2
有幾種形式並行訓練卷積神經網絡(和許多其他機器學習模型)時TensorFlow提供的,其中包括:個人業務中
並行(如
tf.nn.conv2d()
和tf.matmul()
) 。這些操作對於多核CPU和GPU具有高效的並行實現,TensorFlow在任何可用的地方都使用這些實現。操作之間的並行性。 TensorFlow爲您的模型使用數據流圖表示法,並且在數據流圖中存在兩個未通過有向路徑連接的節點,這些節點可以並行執行。例如,Inception圖像識別模型在其數據流圖中有許多並行分支(請參見this paper中的圖3),TensorFlow可以利用此模式同時運行多個操作。 AlexNet paper還介紹瞭如何使用「模型並行」在模型的不同部分並行運行操作,並且TensorFlow支持使用相同的機制。模型之間
並行複製品。 TensorFlow也被設計爲distributed execution。一種常見的並行訓練方案(「數據平行性」)涉及將數據集分成一組相同的工作人員,對每個工作人員針對不同數據執行相同的訓練計算,並在工作人員之間共享模型參數。
此外,像TensorFlow和Theano庫可以進行各種優化時,他們可以與模型的整個數據流圖工作。例如,它們可以消除常見的子表達式,避免重新計算常量值,並生成更高效的融合代碼。
0
您可以在sklearn或其他庫中找到預先烘焙的模型,但TensorFlow允許真正快速迭代定製機器學習模型。它還帶有a ton of useful functions,你必須(也可能不應該)自己寫。
對我來說,性能(儘管他們肯定關心性能)還不夠,而且更多的是關於如何快速剔除神經網絡。
相關問題
- 1. 爲什麼要對卷積神經網絡進行預訓練
- 2. 卷積神經網絡
- 3. 運行訓練卷積神經網絡
- 4. 使用卷積神經網絡進行特徵提取?
- 5. 爲什麼卷積濾波器在卷積神經網絡中翻轉?
- 6. 爲什麼在卷積神經網絡3個通道
- 7. 用卷積神經網絡進行迴歸的體系結構
- 8. Tensorflow中的卷積神經網絡預測
- 9. Tensorflow重塑錯誤1D卷積神經網絡
- 10. TensorFlow:具有非圖像輸入的卷積神經網絡
- 11. 卷積神經網絡不收斂
- 12. float16 VS FLOAT32卷積神經網絡
- 13. 卷積神經網絡配置
- 14. 卷積神經網絡 - 多通道
- 15. 卷積神經網絡和3D圖像
- 16. 這是在普通卷積神經網絡中進行的基本卷積嗎?
- 17. 什麼是卷積神經網絡的深度?
- 18. 卷積神經網絡的正確架構是什麼?
- 19. 使用keras和tensorflow作爲後端對卷積神經網絡的輸入進行可視化
- 20. 使用卷積神經網絡進行四邊形/矩形檢測的想法
- 21. Python/Tensorflow - 我已經訓練了卷積神經網絡,如何測試它?
- 22. 卷積神經網絡中並行和順序卷積之間的區別
- 23. InvalidArgumentError在Tensorflow神經網絡
- 24. 使用卷積神經網絡的逐像素分類?
- 25. 使用卷積神經網絡產生音頻
- 26. 爲什麼卷積神經網絡的輸入總是平方的圖像?
- 27. 如何在新數據上運行卷積神經網絡
- 28. 爲卷積神經網絡選擇訓練圖像
- 29. 爲卷積神經網絡準備數據集
- 30. 需要提示的練習中Tensorflow卷積神經網絡教程
像Tensorflow和Theano這樣的庫不是爲了平行化。其中一個主要優點是它們編譯函數以快速生成C代碼,並且它們提供了區分這些代碼的快速方法。 –