從github代碼看來,MatMul op不支持分區矩陣。那麼在張量流中是否有任何工具支持兩個分佈在多個節點上的巨大矩陣的乘法?張量流中分佈式矩陣乘法的任何現有實現?
回答
TensorFlow內置了支持跨機器分佈計算。我會建議閱讀分佈式TensorFlow文檔以瞭解如何設置TensorFlow集羣。
一旦建立了羣集,您可以決定如何對問題進行分區,並使用with tf.device
將每個工作人員分配到他們的工作分區。
例如,假設您乘以a*a'
,並且您想要將中間乘法平均分配給2個工人,並將合計結果分配到第3個工人。
你會做這樣的事情:
with tf.device(worker0):
# load a1
b1 = tf.matmul(a1, tf.transpose(a1))
with tf.device(worker1):
# load a2
b2 = tf.matmul(a2, tf.transpose(a2))
with tf.device(worker2):
result = b1+b2
的load a1
部分取決於你有多大的矩陣存儲。如果它很大,那麼load a1
可能會從磁盤讀取它。如果它適合內存,你可以使用a1=a[:n/2,:]
來得到它的一個分區
謝謝雅羅斯拉夫! –
我明白我們可以自己實現分佈式矩陣乘法。實際上,如果我們想要實現兩個不同的巨大矩陣,那麼並行算法有很多選擇。我的帖子主要是詢問google是否已經開放了在張量流中實現分佈式矩陣乘法。現在我猜想沒有。這種令我感到意外的是,因爲它假定我們不能在神經網絡訓練中存儲超過記憶的大型模型。 –
過去幾年的趨勢是使神經網絡更小。 IE,它開始於100億參數模型,它將YouTube中的視頻發現到數百萬個精度更高,參數網絡更小,適合手機使用的參數網絡。 –
- 1. 張量流元素矩陣乘法
- 2. Java中的分佈式矩陣乘法
- 3. 實現卷積作爲矩陣乘法
- 4. 更快的矩陣向量乘法實現[並行計算]
- 5. 張量流RNN實現
- 6. 如何在Keras中實現矩陣乘法?
- 7. 矩陣乘矢量乘法
- 8. 張量流中的ocr實現
- 9. 什麼是密集矩陣向量乘法的最有效的實現?
- 10. 矩陣乘法,使用MPI的Cannon算法實現
- 11. 如何在張量流中實現RGB圖像張量?
- 12. Numpy:矩陣乘以3D張量 - 建議
- 13. 如何實現分佈式信號量?
- 14. Python中的矩陣實現
- 15. 分塊矩陣 - 向量乘法
- 16. 張量流Frobenius標準化的實現
- 17. 向量化張量內的矩陣乘法
- 18. 從張量流張量中創建一個新的矩陣
- 19. 矢量化矩陣乘法
- 20. NASM矩陣向量乘法
- 21. 矩陣與向量乘法
- 22. 矢量矩陣乘法
- 23. 矩陣乘法(分數)
- 24. Jaccard與張量流的距離矩陣
- 25. 使用張量流實現GMM
- 26. 使用張量流實現嵌入層
- 27. 張量流不能實現重複性
- 28. Crout矩陣分解的Python實現
- 29. 使用openMp進行矩陣乘法時出現分割錯誤?
- 30. SSE矩陣,矩陣乘法
看看這個答案。 [鏈接](http://stackoverflow.com/questions/35564253/tensorflow-element-wise-matrix-multiplication?rq=1)我認爲這個答案可以幫助你。 –
這是不相關的,但非常感謝您的評論 –