欢迎访问宙启技术站
智能推送

_obtain_input_shape()函数的文档及使用示例(Python)

发布时间:2024-01-20 09:07:07

函数名称:obtain_input_shape()

函数描述:该函数用于获取给定模型的输入形状。

函数参数:model(tf.keras.Model) - 输入的模型。

返回值:input_shape(tuple) - 给定模型的输入形状。

使用示例:

import tensorflow as tf
from tensorflow.keras.layers import Input, Dense
from tensorflow.keras.models import Model

def obtain_input_shape(model):
    input_shape = model.layers[0].input_shape[1:]
    return input_shape

# 创建一个简单的多层感知机模型
input_layer = Input(shape=(10,))
hidden_layer = Dense(16, activation='relu')(input_layer)
output_layer = Dense(1, activation='sigmoid')(hidden_layer)

model = Model(inputs=input_layer, outputs=output_layer)

# 获取模型的输入形状
input_shape = obtain_input_shape(model)
print("模型的输入形状为:", input_shape)

输出结果:

模型的输入形状为: (10,)

在上面的示例中,首先我们导入了需要的库。然后定义了一个名为obtain_input_shape()的函数,该函数接收一个tf.keras.Model对象作为输入参数model。在函数内部,我们使用model.layers[0].input_shape[1:]来获取模型的输入形状,其中model.layers[0]表示模型的 个层,input_shape表示该层的输入形状,[1:]表示除去批次大小(batch_size)之外的其他维度。最后,我们将获取到的输入形状打印出来。

接下来,我们创建了一个简单的多层感知机模型,包含一个输入层、一个隐藏层和一个输出层。其中输入层的形状为(10,),表示输入数据的大小为10。然后我们调用obtain_input_shape()函数来获取模型的输入形状,并将结果打印出来。

在这个示例中,模型的输入形状为 (10,),即输入数据的大小为10。