您的位置:首页 > 理论基础 > 计算机网络

使用 json 进行神经网络结构信息的格式化 (dump & load)

2015-11-30 14:52 811 查看
对训练好的神经网络信息持久化到文件,此即为离线训练了。

我们以dump和load一个神经网络的结构信息为例,分析如何使用json进行数据的格式化dump和load,保存一个神经网络自然需要保存:1. 拓扑结构,2. 各个层、各个神经元之间的权值及偏置信息,3. 代价函数,这些信息都被Network类所维护,不妨将这一个数据保存过程作为Network类的成员函数:

def save(self, filename):
data = {'topology':self.topology,
'biases':[b.tolist() for b in self.biases],
'weights':[w.tolist() for w in self.weights],
'cost': self.cost.__name__}
with open(filename, 'w') as f:
json.dump(data, f)


数据load:

def load(filename):
with open(filename, 'r') as f:
data = json.load(f)
cost = getattr(sys.modules[__name__], data['cost'])
net = Network(data['topology'], cost=cost)
net.weights = [np.array(w) for w in data['weights']]
net.biases = [np.array(b) for b in data['biases']]
return net
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  神经网络 json