Keras:实施分层培训模式的更好方法是什么?

时间:2016-11-19 14:35:20

标签: keras keras-layer

我目前正在学习使用Keras实现分层训练模型。我的解决方案很复杂且耗时,有人可以给我一些建议吗?也有人可以解释Keras的拓扑结构,特别是nodes.inbound_layerinput_tensors之间的关系以及它们与张量相关联的方式:output_tensorsinput_tensors[i] == inbound_layers[i].inbound_nodes[node_indices[i]].output_tensors[tensor_indices[i]]?从拓扑source codes on github,我很困惑:

inbound_nodes

为什么output_tensors包含model.compile(),我不清楚它们之间的关系......如果我想删除API model某些位置的图层,我该怎么办?首先删除?另外,在某些地方添加图层时,我该先做什么?

这是我对分层训练模型的解决方案。我可以在Sequential模型上执行此操作,现在尝试在API model

上实现

要做到这一点,我只需在完成上一次训练后添加一个新图层并重新编译(model.fit())并重新拟合(model.pop())。

由于Keras模型需要输出层,我总是会添加一个输出层。因此,每当我想添加一个新图层时,我必须删除输出图层然后再添加它。这可以使用model完成,在这种情况下,keras.Sequential()必须是Sequential()模型。

model.add(layer)模型支持许多有用的功能,包括model=Model(input=...., output=....)。但是对于使用模型API的自定义模型:pop(),不支持那些add()或{{1}}函数,并且实现它们需要一些时间,也许不方便。

0 个答案:

没有答案