python - 该层的所有输入都应该是张量
问题描述
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')
解决方案
https://keras.io/layers/merge/#concatenate
您必须提供张量列表到Concatenate()
. 您正在提供一个整数paired_encoder_size
。尝试通过paired_encoders
。
推荐阅读
- python - ValueError:确保您指定了正确的输入图像、输入类型、输出类型和/或输出图像路径
- c++ - 如何在多个源文件中将 C++ 堆栈实现为全局变量?
- android - 在挂载 sd 卡的设备上读取和写入文件时出现问题
- youtube-api - 通过嵌入 YouTube 视频被 CORS 政策错误阻止
- c# - Protobuf - 替换通用集合
- javascript - 如何在测试中读取 jest 配置值?
- chart.js - Chart.js 从轴移动图表的起始位置
- azure - Azure 信号中的 serverExceptions 和 Exceptions 有什么区别?
- scala - Scala Seq vs List vs MutableList 性能(foldLeft)
- python - 从一组列表中创建一个包含最少元素和至少一个公共元素的列表