簡體   English   中英

如何將整數與np.array一起保存

[英]How to save integer alongside of a np.array

我正在做一個ConvNet,需要將一個圖像與一個整數(1或0)一起保存,以指示是否已執行操作。 我該怎么做? 我嘗試了這個:

key_pressed = np.array(key_check(self.key)) # key_check() returns 1 or 0
window = np.array(window) # window is opened with cv2

print(window.shape, key_pressed.shape) # (474, 31) (1,)
print(np.concatenate((window, key_pressed)))
      ^^
ValueError: all the input arrays must have same number of dimensions

看到數組的大小不同,用numpy做我想做的事嗎? 關於如何保存此數據的任何想法?

NumPy不會讓您簡單地將任意大小的東西連接起來:這破壞了數組或矩陣的功能定義。 您正在嘗試進行簡單的並置,而不是功能串聯。 您要做的就是將它們並排顯示,對嗎? 這不是矩陣運算。 例如,您是否真的設想對所得的粘合數組進行矩陣乘法???

您需要一個簡單的容器來容納兩個項目。 我希望一個簡單的class能為您完成這項工作。 為結果對編寫一個組合的顯示方法,並將其用於渲染。

看看scipy.io.savematloadmat

savemat(your_path, dict(key=key_pressed, window=window))

然后使用loadmat返回帶有指定鍵和所需幀的字典。 甚至還有一個do_compression參數。

編輯:形狀不兼容與它無關,因為您不是在創建新數組,而是將鍵和窗口分別保存在同一文件中。

In [53]: from scipy import io

In [54]: a = np.zeros([3, 4])

In [55]: b = np.ones([5, 17])

In [56]: io.savemat("foo.mat", dict(a=a, b=b))

它就像一個魅力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM