Python读取mat文件,并保存为pickle格式的方法
这两天在搞Theano,要把mat文件转成pickle格式载入Python。
Matlab是把一维数组当做n*1的矩阵的,但Numpy里还是有vector和matrix的区别,Theano也是对二者做了区分。
直接把代码贴出来吧,好像也没什么可讲的==
fromscipy.ioimportloadmat importnumpy,cPickle data_dict=loadmat(r'E:\dataset\CIFAR10\CIFAR10_small.mat')#needanr! my_array=numpy.array([1,1]) forkeyindata_dict.keys(): iftype(data_dict[key])==type(my_array): #printmatrixinformation printkey,type(data_dict[key]), printdata_dict[key].shape #shape(n,1)(matrixintheano)->shape(n,)(vectorintheano) printdata_dict['Ytr'].shape Ytr=numpy.hstack(data_dict['Ytr']) Yte=numpy.hstack(data_dict['Yte']) Yte=numpy.hstack(data_dict['Yte']) printYtr.shape train_set=(data_dict['Xtr'],Ytr) valid_set=(data_dict['Xte'],Yte) test_set=(data_dict['Xte'],Yte) output=open('cifar10_small_v.pkl','wb') cPickle.dump(train_set,output) cPickle.dump(valid_set,output) cPickle.dump(test_set,output) output.close() print'saveisdone' pkl_file=open('cifar10_small_v.pkl','rb') data1=cPickle.load(pkl_file)#istrain_set data2=cPickle.load(pkl_file)#isvalid_set data3=cPickle.load(pkl_file)#istest_set printtype(data1[1]),data1[1].shape pkl_file.close()
以上这篇Python读取mat文件,并保存为pickle格式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。