当前位置: 首页 > 知识库问答 >
问题:

使用不是符号张量的输入调用层。接收到类型“Sequential”

田向荣
2023-03-14

我必须输入我想要合并到一个网络中的内容,所以应该是这样的:

input1    input2  
   |        | 
   |        |
 hidden    hidden
     Merged

我尝试了这段代码

b1_part = Sequential()
b1_part.add(Dense(units=b1_X_train.shape[1],activation='tanh', activity_regularizer=regularizers.l2(1e-2)))
b1_part.add(Dropout(0.5))
b1_part.add(Dense(units=b1_X_train.shape[1]/4,activation='tanh', activity_regularizer=regularizers.l2(1e-2)))


b2_part = Sequential()
b2_part.add(Dense(units=b2_X_train.shape[1],activation='tanh', activity_regularizer=regularizers.l2(1e-2)))
b2_part.add(Dropout(0.5))
b2_part.add(Dense(units=b2_X_train.shape[1]/4,activation='tanh', activity_regularizer=regularizers.l2(1e-2)))

result = Concatenate(axis=1)([b1_part, b2_part])

optimizer = Adagrad()
result.compile(optimizer=optimzier, loss=BinaryFocalLoss(gamma=2),
               metrics=['accuracy'])

但是得到了:

ValueError: Layer concatenate_10 was called with an input that isn't a symbolic tensor. Received type: <class 'tensorflow.python.keras.engine.sequential.Sequential'>. Full input: [<tensorflow.python.keras.engine.sequential.Sequential object at 0x7fb1cbf97048>, <tensorflow.python.keras.engine.sequential.Sequential object at 0x7fb1cbeb5358>]. All inputs to the layer should be tensors.

知道为什么吗?

共有1个答案

易淳
2023-03-14

首先,记住指定顺序模型的输入形状。

然后您可以组合您的顺序模型并以这种方式定义完整模型:

b1_part = Sequential()
b1_part.add(Dense(units=100,activation='tanh', input_shape=(100,)))
b1_part.add(Dropout(0.5))
b1_part.add(Dense(units=25,activation='tanh'))

b2_part = Sequential()
b2_part.add(Dense(units=200,activation='tanh', input_shape=(200,)))
b2_part.add(Dropout(0.5))
b2_part.add(Dense(units=50,activation='tanh'))

result = Concatenate(axis=1)([b1_part.output, b2_part.output])
result = Dense(1, activation='sigmoid')(result)

model = Model([b1_part.input, b2_part.input], result)
model.compile('adam', 'binary_crossentropy', metrics='accuracy')
 类似资料:
  • 我想使用两个包,一个用Keras1.2编写,另一个用TensorFlow编写。我想将构建在tensorflow中的体系结构的一部分用于Keras模型。 这里提出了一个部分的解决方案,但它是针对顺序模型的。关于功能模型的建议--将预处理包装在一个Lambda层中--没有奏效。

  • 问题内容: 如何利用ng-message作为数字类型?ngMessage是否支持max和min属性?如果可以,怎么办? 演示链接 来自角度文档的示例链接 问题答案: 作为模块正式引入的版本,因此您需要修复以下问题: 使用版本或更高版本(现在是最新版本)。 包含在HTML中(这是一个单独的脚本)。 声明为模块/应用程序的依赖项。 另请参 见此简短演示 。

  • 我有2种类型的类型类,其中一种类型包含另一种类型 我想这样称呼我的类型类: 但这行不通。 错误:(34,23)找不到参数e的隐式值:com.playground.Valides[com.playground.MyModel1,model.version.type]val v=隐式[Valides[MyModel1,model.version.type]]错误:(34,23)没有足够的隐式方法参数:

  • 问题内容: 我有一个使用以下代码呈现的数字类型输入: 看起来像这样: 我想把它变成这样: 使用两个单独的按钮模拟第二个视图。 如何按所述方式设置箭头样式? 问题答案: tl; dr: 被问到太多次了,所以我为Bootstrap 4 + jQuery + Font Awesome输入组设置添加了一个快速演示: 长(初始)答案: 本机控件不是可样式化的跨浏览器。实现所需的跨浏览器/跨设备的最简单,最安

  • 根据keras文件(https://keras.io/layers/convolutional/)Conv1D输出张量的形状为(batch\u size,new\u steps,filters),而输入张量的形状为(batch\u size,steps,input\u dim)。我不明白这是怎么回事,因为这意味着如果你传递一个长度为8000的1d输入,其中batch\u size=1,steps=

  • 最近我做了一个关于现代c的研究。我看到一个视频[在49:00]关于c 11/c 14变量模板。如果你想用不同的模板计算不同类型元组的总和(如,),使用c 11,视频建议一个解决方案: 无法在中推断返回类型,因此必须使用声明返回类型。但有些编译器生成失败,有些编译器生成成功。链接 虽然,使用没有问题,我的问题是: 标准是否涵盖了这个问题?如果没有,编译器是否通过自己的实现来处理这个问题? 为什么最新