相关疑难解决方法(0)

cPickle非常大量的数据

我有大约80万个RGBx 256x256的图像,超过7GB.

我想将它们用作卷积神经网络中的训练数据,并希望将它们与标签一起放在cPickle文件中.

现在,这需要占用大量内存,因为它需要与我的硬盘内存交换,并且几乎消耗掉所有内存.

这是个坏主意吗?

在不引起太多内存问题的情况下,加载到CNN或腌制它们的更聪明/更实用的方法是什么?

这就是代码的样子

import numpy as np
import cPickle
from PIL import Image
import sys,os

pixels = []
labels = []
traindata = []
data=[]


for subdir, dirs, files in os.walk('images'):
        curdir=''
        for file in files:
                if file.endswith(".jpg"):
                        floc=str(subdir)+'/'+str(file)
                        im= Image.open(floc)
                        pix=np.array(im.getdata())
                        pixels.append(pix)
                        labels.append(1)
pixels=np.array(pixels)
labels=np.array(labels)
traindata.append(pixels)
traindata.append(labels)
traindata=np.array(traindata)
.....# do the same for validation and test data
.....# put all data and labels into 'data' array
cPickle.dump(data,open('data.pkl','wb'))
Run Code Online (Sandbox Code Playgroud)

python pickle convolution neural-network

3
推荐指数
1
解决办法
1226
查看次数

标签 统计

convolution ×1

neural-network ×1

pickle ×1

python ×1