Keras Functional API:如何去除输入层输出形状的方括号
在Keras Functional API中去除输入层输出形状的方括号
问题根源
你提供的代码中Model类的实例化参数存在错误,正确写法需要明确指定inputs和outputs参数,而非直接传入未定义的y与张量x。错误传参会导致Keras将输入解析为列表形式,进而让输入层输出形状显示为[(None, 32)]。
修正后的代码
from keras.layers import Input, Dense from keras.models import Model # 定义输入层 i = Input(shape=(32,)) # 添加全连接层 x = Dense(16, activation='softmax')(i) # 正确实例化Model,指定inputs和outputs参数 model = Model(inputs=i, outputs=x) # 查看模型摘要 model.summary()
修正后的模型摘要效果
Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) (None, 32) 0 dense_1 (Dense) (None, 16) 528 ================================================================= Total params: 528 Trainable params: 528 Non-trainable params: 0
关键说明
当Model的inputs参数接收单个输入张量时,输入层的输出形状会以单个元组(None, 32)的形式展示;只有传入多个输入组成的列表(如inputs=[i1, i2])时,输出形状才会被方括号包裹。
内容的提问来源于stack exchange,提问作者kaispace30098
相关产品推荐
相关产品推荐

