tf.keras.Input函数
tf.keras.Input
函数用于向模型中输入数据,并指定数据的形状、数据类型等信息。其实这个函数的参数中,batch_size
和sparse
的意义我还没有太理解,不知道这里指定的batch_size会对后面的模型训练产生什么影响以及指定创建的占位符是否稀疏的意义。
首先给出tf.keras.Input
的函数定义:
tf.keras.Input(
shape=None,
batch_size=None,
name=None,
dtype=None,
sparse=False,
tensor=None,
**kwargs
)
其中各个参数的含义为:
-
shape
:一个形状元组(由整数组成),其中并不指定batch size,只是定义输入的数据的形状。比如shape=(32, )
和shape=32
是等价的,表示输入都为32维的向量。 -
batch_size
: 这是一个可选的参数,表示静态的batch size大小 -
name
:可选参数,字符串形式表示当前层的名字。如果没有这个参数的话,会自动生成。 -
dtype
:数据类型,一般包括以下几种:有符号整型 tf.int8 8位整数 tf.int16 16位整数 tf.int32 32位整数 tf.int64 64位整数 无符号整数 tf.uint8 8位无符号整数 tf.uint16 16位无符号整数 浮点型 tf.float16 16位浮点数 tf.float32 32位浮点数 tf.float64 64位浮点数 tf.double 和tf.float64等价 字符串型 tf.string 字符串 布尔型 tf.bool 布尔型 复数型 tf.complex64 64位复数 tf.complex128 128位复数 -
sparse
:一个布尔值,指示创建的占位符是否是稀疏的。 -
tensor
:将现有张量wrap到Input层中,如果设置了的话,Input层将不会创建占位符张量(可以理解为张量是已有的,所以不需要创建新的占位符) -
**kwargs
:当前并不支持的参数
以下为一个实例:
# this is a logistic regression in Keras
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)