3
我有一個關於numpy的問題,它是內存。是否有可能生成一個視圖或多個numpy數組之外的東西而不復制它們?無法複製的數組的Numpy矩陣可能嗎?
import numpy as np
def test_var_args(*inputData):
dataArray = np.array(inputData)
print np.may_share_memory(inputData, dataArray) # prints false, b.c. of no shared memory
test_var_args(np.arange(32),np.arange(32)*2)
我有一個C++應用程序與圖像,並希望做一些python魔術。我使用c-api將行中的圖像傳遞給python腳本,並希望將它們組合起來而不復制它們。
我能夠通過數據s.t. C++和python共享相同的內存。現在我想將內存分配給一個numpy視圖/數組或類似的東西。
C++中的圖像不會持續存在於內存中(我對它們進行切片)。我交給python的行被安排在連續的內存塊中。
我通過的圖像數量是不同的。如果存在預分配技巧,也許我可以改變它。
您可以使用'list'容器來存儲對每個原始數組的引用而不創建副本 –
如果我使用列表,我無法完成所有我想要做的numpy工作。如果我將一個列表轉換爲一個numpy數組,新的內存將被分配。 – Lks
'numpy.array'有一個標誌'複製'。它默認設置爲「True」,因此總是複製您的數據。你有沒有嘗試過使用'np.array(inputData,copy = False)'? – Dux