我正在嘗試創建一個函數來將包含 14,000 張圖像的大型圖像數據集加載到一個變量中,但我遇到了內存 (RAM) 問題。我想做的是類似cifar100.load_data函數的東西,但對我來說不起作用。我定義的函數如下所示: def load_data(): trn_x_names=os.listdir('data/train_x') trn_y_names=os.listdir('data/train_y') trn_x_list=[] trn_y_list=[] for image in trn_x_names[0:]: img=cv2.imread('data/train_x/%s'%image) img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) trn_x_list.append(img) for image in trn_y_names[0:]: img=cv2.imread('data/train_y/%s'%image) img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) trn_y_list.append(img) x_train= np.array(trn_x_list) y_train= np.array(trn_y_list) return x_train,y_train我首先一張一張地加載所有圖像,將它們添加到相應的列表中,最后將這些列表更改為數組numpy并將它們分配給一些變量并返回它們。但在途中,我遇到了 RAM 問題,因為它占用了我 100% 的 RAM。
如何在不耗盡內存的情況下將 14,000 個圖像數據集加載到變量中?
慕尼黑8549860
2023-05-16 14:24:07