1
我正試圖加載Cifar-10數據集。我正在使用的代碼是從this類(我沒有登記,但是),我不斷得知有一個內存錯誤。加載它的代碼是:加載數據集時Python中的內存錯誤
X_train, y_train, X_test, y_test = load_CIFAR10(cifar10_dir)
這是一個呼籲:
def load_CIFAR10(ROOT):
""" load all of cifar """
xs = []
ys = []
for b in range(1,6):
f = os.path.join(ROOT, 'data_batch_%d' % (b,))
X, Y = load_CIFAR_batch(f)//this is the important line
xs.append(X)
ys.append(Y)
Xtr = np.concatenate(xs)
Ytr = np.concatenate(ys)
del X, Y
Xte, Yte = load_CIFAR_batch(os.path.join(ROOT, 'test_batch'))
return Xtr, Ytr, Xte, Yte
進而調用:
def load_CIFAR_batch(filename):
""" load single batch of cifar """
with open(filename, 'rb') as f:
datadict = pickle.load(f)
X = datadict['data']
Y = datadict['labels']
X = X.reshape(10000, 3, 32, 32).transpose(0,2,3,1).astype("float")//This is the important line
Y = np.array(Y)
return X, Y
它卡住以上線7和一個停止內存錯誤。
我使用Windows任務管理器查看內存使用情況,每次運行它時都使用〜800,000kb,而不管其他程序在我的系統上運行。我的系統上也有8GB的RAM。而且,在過去,python使用了千兆字節的數據,但在這個項目上它不會超過800,000kb。另外奇怪的是,我將類型改爲「float32」,然後我得到了400,000的內存錯誤,並且不會比這更高。如果它有所作爲,我正在使用Ipython。 有沒有人有什麼想法或如何解決這個問題?
編輯:這也發生在大約4GB的內存空閒。