我正在尝试将theano制造的模型(f_eval)保存到磁盘并重新加载。它的工作原理是没有例外,分类器产生结果,但是加载的模型(f_evalFile)的权重顺序不同。看起来该模型包含多维数据,并且维度已重新排序(尽管维度内的权重似乎已正确排序)。我尝试过:
binary_file = open(fileName ,mode='wb')
theano.misc.pkl_utils.dump(f_eval, binary_file, protocol=2)
# also tried adding: persistent_id=theano.misc.pkl_utils.PersistentNdarrayID)
binary_file.close()
binFile = open (file,mode='rb')
f_evalFile = theano.misc.pkl_utils.load(binFile)
#also tried adding: theano.misc.pkl_utils.PersistentNdarrayID)
binFile.close()
Google建议我以某种方式使用numpy数组并单独保存维度,然后将它们放回一起。像这样:
params_numpy =[numpy.asarray(p.get_value()) for p in f_eval]
pickled_numpy = cPickle.dump(params_numpy, binary_file, protocol=2)
但是我不知道如何再次将它们组合在一起,或者这是否是正确的选择。我的Python很弱。