http://old.sebug.net/paper/books/scipydoc/numpy_intro.html#id9
numpy.load和numpy.save函数以NumPy专用的二进制类型保存数据,这两个函数会自动处理元素类型和shape等信息,使用它们读写数组就方便多了,但是numpy.save输出的文件很难和其它语言编写的程序读入:
>>> np.save("a.npy", a)
>>> c = np.load( "a.npy" )
>>> c
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
filters = net.params['conv1'][0].data
对于网络中的第几层特征提取,提取的是numpy.ndarray,多维数组类型,保存下到本机,进行特征分析。
一种保存为文本,读出时为字符型,需转换
f
=
open
(
'aaa.txt'
,
'w'
)
f.write(
filters
+
'\n'
)
f.close()
一种用scipy.io中的loadmat和savemat来做,但是只会字典形式的保存,还是需要转换
import scipy.io as scio
dataFile = 'E://data.mat'
data = scio.loadmat(dataFile)
dataNew = 'E://dataNew.mat'
scio.savemat(dataNew, {'A':filters})
注意:是以字典的形式保存。
如果不考虑与其他软件的交互,第一种最为简单
http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.savemat.html
对savemat的参数解释