一、模型输入
在使用tf构建模型输入时,常用于定义模型输入层如下:
(1)使用tf.keras.layers.Input()
inputs = tf.keras.layers.Input(shape=(28, 28, 1))
使用csv数据实例,当特征字段少情况
from tensorflow.keras.layers import Dense, Input
from tensorflow.keras.models import Model
# 定义输入层
age_input = Input(shape=(1,), name='age_input')
gender_input = Input(shape=(1,), name='gender_input')
income_input = Input(shape=(1,), name='income_input')
# 将输入层拼接
inputs = tf.keras.layers.Concatenate()([age_input, gender_input, income_input])
当特征字段多情况
inputs = {
'age': age_input,
'gender': gender_input,
'income': income_input,
# 添加更多特征
}
model = Model(inputs=inputs, outputs=outputs)
model.fit(X, y, epochs=10, batch_size=32)
(2)自定义输入层
class CustomInput(tf.keras.layers.Layer):
def __init__(self, input_shape, **kwargs):
super(CustomInput, self).__init__(**kwargs)
self.input_shape = input_shape
def build(self, input_shape):
super(CustomInput, self).build(input_shape)
def call(self, inputs):
return inputs
inputs = CustomInput(input_shape=(28, 28, 1))(inputs)