1

我目前正在学习使用 Keras 实现分层训练模型。我的解决方案复杂且耗时,有人可以给我一些建议以简单的方式完成吗?也有人可以解释 Keras 的拓扑结构,尤其是 之间的关系nodes.outbound_layernodes.inbound_layer以及它们如何与张量相关联:input_tensorsoutput_tensors从github 上的拓扑源代码,我很困惑:

input_tensors[i] == inbound_layers[i].inbound_nodes[node_indices[i]].output_tensors[tensor_indices[i]]

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

这是我对分层训练模型的解决方案。我可以在 Sequential 模型上做到这一点,现在尝试在API model

为此,我只需在完成之前的训练并重新编译(model.compile())和重新拟合(model.fit())后添加一个新层。

由于 Keras 模型需要输出层,所以我总是会添加一个输出层。结果,每次我想添加一个新层时,我都必须删除输出层然后再添加回来。这可以使用 来完成model.pop(),在这种情况下model必须是keras.Sequential()模型。

Sequential()模型支持许多有用的功能,包括model.add(layer). 但是对于使用模型 API: 的自定义模型model=Model(input=...., output=....),这些pop()add()功能不受支持,实现它们需要一些时间,而且可能不方便。

4

0 回答 0