我正在尝试训练一个级联模型,我想在其中获取model1的输出,对其进行扩充,然后将其输入到另一个模型中。 如果可能的话,我想端到端地训练两个网络。
现在Iam想知道Keras是否有可能吗?
谢谢您的建议,
欢呼
M
答案 0 :(得分:0)
只要您自己执行扩充操作(不在生成器中执行),它都是可行的。
您可以探索Error compiling to JavaScript:
main.dart:4:33:
Error: Can't access 'this' in a field initializer.
Parent() : this.child = Child(this);
^^^^
Error: Compilation failed.
层内的各种自定义函数,并将这些函数用于扩充。您可以使用中的任何函数,也可以使用后端框架中的任何函数(Tensorflow,Theano,CNTK)
如果您的后端是Tensorflow,则有许多可用功能。 Keras Backend。
您可以根据需要将其构建为单个网络,也可以将两个网络构建为一个网络。
单网示例:
Lambda
也适用于顺序模型。
其他选项(例如启用了急切模式的自定义训练循环,使用不属于您的后端的功能)会破坏向后传播,我认为您不希望这样做。