看板 Python 關於我們 聯絡資訊
大家好,有個棘手的問題想要請教各位 a) 問題解釋: 我目前有個n個2d-array放在一起 大概像是這樣 array([[[1, 2, 3], [3, 4, 5], [7, 8, 9]], [[1, 3, 7], [2, 4, 8], [3, 5, 9]], ... ]) 那麼我想要擷取出每一列,形成新的矩陣 也就是想使用vstack 讓 array[0][0]與array[1][0]形成新的矩陣(2*3) 那麼每個矩陣的每一列來配對,於是就會有9個矩陣 那我今天有n個矩陣,每個矩陣是m列 那麼就會有 m^n 個矩陣 如果文字不好理解的話,以下是圖示 https://i.imgur.com/26WMeut.jpg https://i.imgur.com/7QxzWPg.jpg b) 問題所在 由於n數量不確定,但會很大 而且需要遍歷每個矩陣 並且 m^n 太大 我測試過10列 6個矩陣 也就是 10^6 個矩陣 以1個cpu來執行 大概是60s 換算成我需要的矩陣 大約是 10^17 我估算用幾千個cpu大概都做不完 此外有搜尋過numba,試圖想使用gpu來執行 但由於不太熟悉,不知道該怎麼解決 目前想法很亂,沒有一個方向 不知道各位有什麼見解呢 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.13.120 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1586162667.A.5E5.html
TitanEric: 不知道有沒有誤會 這個不是tensor的transpose嗎 04/06 18:03
watashino: 跟樓上想法一樣,如果原本的n個2d array都一樣大的話, 04/06 22:49
watashino: 把整個array變成3d array然後transpose一下應該就可以 04/06 22:49
watashino: 了 04/06 22:49