小编给大家分享一下Python如何读取mat文件并保存为pickle格式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
这两天在搞Theano,要把mat文件转成pickle格式载入Python。
Matlab是把一维数组当做n*1的矩阵的,但Numpy里还是有vector和matrix的区别,Theano也是对二者做了区分。
直接把代码贴出来吧,好像也没什么可讲的 = =
from scipy.io import loadmat import numpy, cPickle data_dict=loadmat(r'E:\dataset\CIFAR10\CIFAR10_small.mat') #need an r! my_array=numpy.array([1,1]) for key in data_dict.keys(): if type(data_dict[key]) == type(my_array): #print matrix information print key, type(data_dict[key]), print data_dict[key].shape #shape(n,1) (matrix in theano) -> shape(n,) (vector in theano) print data_dict['Ytr'].shape Ytr=numpy.hstack(data_dict['Ytr']) Yte=numpy.hstack(data_dict['Yte']) Yte=numpy.hstack(data_dict['Yte']) print Ytr.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 'save is done' pkl_file = open('cifar10_small_v.pkl', 'rb') data1 = cPickle.load(pkl_file) # is train_set data2 = cPickle.load(pkl_file) # is valid_set data3 = cPickle.load(pkl_file) # is test_set print type(data1[1]),data1[1].shape pkl_file.close()
以上是“Python如何读取mat文件并保存为pickle格式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。