我想使用Keras在Python上運行神經網絡示例程序。我的數據是以Matlab .mat文件的形式出現的。使用Keras在Python中加載.mat數據
train_data.mat (size: 32x32x10,000 single)
train_label.mat (size: 1x10,000 single)
test_data.mat (size: 32x32x2,000 single)
test_label.mat (size: 1x2,000 single)
如何加載上面的.mat數據以使用Keras替換Python中的MNIST數據集?
from keras.datasets import mnist
(train_data, train_label), (test_data, test_label) = mnist.load_data()
EDIT(用於說明目的)
讓我說在.MAT train_data有三個數據,大小爲2x2x3,
val(:,:,1) =
1 1
1 1
val(:,:,2) =
2 2
2 2
val(:,:,3) =
3 3
3 3
它與scipy.io樣之後,下面開始.loadmat,大小(2L,2L,3L)
>>> A
array([[[1, 2, 3],
[1, 2, 3]],
[[1, 2, 3],
[1, 2, 3]]], dtype=uint8)
如何將其重塑爲(3L,2L,2L),這意味着(2L,2L)的三個數據?
回答
>>> import scipy.io
>>> A = scipy.io.loadmat('train_data')
>>> B = A.flatten(1) # flatten to vector
>>> C = B.reshape(3,2,2) # reshape
>>> C
array([[[1, 1],
[1, 1]],
[[2, 2],
[2, 2]],
[[3, 3],
[3, 3]]], dtype=uint8)
我讀過它,但我不知道如何重塑數據。請參閱我的編輯。 – askseekknock