【问题标题】:All inputs to the layer should be tensors该层的所有输入都应该是张量
【发布时间】:2018-07-31 21:29:45
【问题描述】:

ValueError: 层 concatenate_1 被调用时输入不是符号张量。接收类型:.完整输入:[9]。该层的所有输入都应该是张量。

在线问题paired_encoders_merger = concatenate(paired_encoder_size)

def __init__(self, input_size=18, paired_encoder_size=9, common_encoder_size=126, size_class=10):

    inputs = []
    [inputs.append(Input(shape=(input_size,1), name=('input_'+str(i)))) for i in range(7)]

    paired_encoders = []
    for i in range(7):
        paired_encoders.append(Dense(paired_encoder_size, activation='relu')(inputs[i]))

    paired_encoders_merger = concatenate(paired_encoder_size)
    common_encoder = Dense(common_encoder_size, activation='relu')(paired_encoders_merger)
    classes = Dense(size_class, activation='relu')(common_encoder)
    common_decoded = Dense(common_encoder_size, activation='relu')(classes)
    paired_decoded = []
    for i in range(7):
        paired_decoded.append(Dense(paired_encoder_size, activation='relu')(common_decoded))        

    out_pair = []

    for i in range(7):
        out_pair.append(Dense(input_size, activation='relu', name=('out_'+str(i)))(paired_decoded[i]))

    out_merger = concatenate(out_pair)

    self.model = Model(inputs=inputs,  outputs=out_merger)
    self.model.compile(optimizer='ADAM', loss='binary_crossentropy')

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    https://keras.io/layers/merge/#concatenate

    您必须向Concatenate() 提供张量列表。您提供的是整数 paired_encoder_size。尝试通过 paired_encoders 代替。

    【讨论】:

    • 做一个笨程序员有多难,我需要做点什么,谢谢你的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2022-01-09
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多