我爲我的論文使用MatrixToolkitsJava作爲神經網絡項目,並且在其中我需要使權重矩陣更大,並且稍後可能更小。我現在正在這樣做,創建一個新的矩陣並在實例化新值時複製現有的值,效率非常低,佔絕大多數時間。是否有一種將行和列添加到現有矩陣的有效方法?製作矩陣更大
製作矩陣更大
回答
如前所述,您可以使用列表,但是如果您在使用數組時遇到問題,則可以創建一個方法來創建新數組,然後替換所存儲的引用。
如果您使用System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length)
它將足夠快,如果你不使用巨型陣列。
編輯:我不敢相信我沒有想到這一點。只需使用矩陣乘法來複制數據。例如,要做2×3×3,只需做[2,2]×[(1,0),(0,1),(0,0)] = [2,3] => [ (1,0,0),(0,1,0)] x [2,3] = [3,3]
它們不是數組,它們是來自MTJ的矩陣,用於計算有效的線性代數。他們變得相當大,這是問題所在。他們可以輕鬆達到數千行/列。這就是我目前正在做的,複製我擁有的數據並添加到新數據中,但正如我所說的那樣,效率非常低,往往會減慢速度。不過,我懷疑arrayCopy對於MTJ矩陣是有效的。 – Beez
無論如何要事先弄清楚你需要多大?否則,我會建議讓它比你想象的要大得多。 –
不幸的是,這裏的目標是建立一個增長的神經網絡,希望能夠找到合適的大小。使矩陣大於他們需要的另一個問題是,他們越大,程序越慢,相當大。因此,使它們變得非常大並且填充它們會導致比在我去的時候增長它們更慢的程序。 – Beez
- 1. 如何在CUDA中更大的矩陣中複製矩陣
- 2. 在OpenCV中使用子矩陣製作一個大矩陣
- 3. 矩陣大小限制
- 4. 高效地將對象矩陣複製到更大的對象矩陣
- 5. 在R中製作矩陣
- 6. Matlab大矩陣
- 7. 轉換小矩陣轉換成更大的矩陣
- 8. 拆分大型矩陣爲新的更小的矩陣
- 9. 根據子矩陣規則更改大矩陣的元素
- 10. 有限存儲器上大矩陣上的矩陣操作
- 11. 矩陣中矩陣最大的方塊
- 12. CUDA基本矩陣加 - 大型矩陣
- 13. 用「超大」矩陣繪製熱圖
- 14. 的Python:熱圖繪製大型矩陣
- 15. Matlab大矩陣乘法限制
- 16. 在大二進制矩陣中計算小二進制矩陣的外觀
- 17. 更改3維矩陣的大小
- 18. 複製矩陣
- 19. 矩陣大小Java
- 20. 將矩陣分成更小的矩陣
- 21. 如何製作一個大矩陣的熱圖?
- 22. 矩陣操作?
- 23. 製作在圖中的成本矩陣
- 24. 製作一個隨機數字矩陣
- 25. 使用mstrsplit製作字符矩陣
- 26. 如何製作numpy數組的矩陣?
- 27. 如何從矢量Python製作矩陣
- 28. 製作帶有特徵值的矩陣
- 29. 製作一個滿秩的矩陣?
- 30. 從列表中製作矩陣
沒有辦法改變數組的大小,這就是爲什麼他們發明了一種叫做名單。你也許可以製作一個數組列表的數組列表。 – Gendarme
我沒有使用數組,我使用MatrixToolkitsJava中的Matrix。我只是想知道是否有更有效的計算方法來調整Matrix的大小,甚至是複製Matrix中的值。 – Beez