tf.keras.layers.Input()输入层解析

1. 参数列表

layers.Input(
    shape=None,
    batch_size=None,
    name=None,
    dtype=None,
    sparse=False,
    tensor=None,
    ragged=False,
    **kwargs,
)

2. 该层的用途

  • 用于构建网络的第一层——输入层,该层会告诉网络我们的输入的尺寸是什么,这一点很重要。例如使用Model(input=x,output=y)构建网络,这种构建方式很常见,用途很广,详细参考文章

3. 参数解析(4个常用的)

  • shape:输入的形状,tuple类型。不含batch_size;tuple的元素可以为None类型数据,表示未知的或者说任意的,一般这里不用None
  • batch_size:声明输入的batch_size大小,一般会在预测时候用,训练时不需要声明,会在fit时声明,即dataset类型数据声明了batch_size
  • name:给layers起个名字,在整个网络中不能出现重名。如果name=None,则系统会自动为该层创建名字。
  • dtype:数据类型,在大多数时候,我们需要的数据类型为tf.float32,因为在精度满足的情况下,float32运算更快。

4. 举个栗子

# this is a logistic regression in Keras
x = Input(shape=(32,)) # 网络的输入层
y = Dense(16, activation='softmax')(x) # 网络的输出层
model = Model(x, y)

5. 写在后面

  • 在构建神经网络中,一定要注意shape的大小,如果报错在shape上是一件很头疼的事情,所以写一部分测试一下是一个良好的编程习惯。
  • 38
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
boston_housing module: Boston housing price regression dataset. cifar10 module: CIFAR10 small images classification dataset. cifar100 module: CIFAR100 small images classification dataset. fashion_mnist module: Fashion-MNIST dataset. imdb module: IMDB sentiment classification dataset. mnist module: MNIST handwritten digits dataset. reuters module: Reuters topic classification dataset. import tensorflow as tf from tensorflow import keras fashion_mnist = keras.datasets.fashion_mnist (x_train, y_train), (x_test, y_test) = fashion_mnist.load_data() mnist = keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() cifar100 = keras.datasets.cifar100 (x_train, y_train), (x_test, y_test) = cifar100.load_data() cifar10 = keras.datasets.cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data() imdb = keras.datasets.imdb (x_train, y_train), (x_test, y_test) = imdb.load_data() # word_index is a dictionary mapping words to an integer index word_index = imdb.get_word_index() # We reverse it, mapping integer indices to words reverse_word_index = dict([(value, key) for (key, value) in word_index.items()]) # We decode the review; note that our indices were offset by 3 # because 0, 1 and 2 are reserved indices for "padding", "start of sequence", and "unknown". decoded_review = ' '.join([reverse_word_index.get(i - 3, '?') for i in x_train[0]]) print(decoded_review) boston_housing = keras.datasets.boston_housing (x_train, y_train), (x_test, y_test) = boston_housing.load_data() reuters= keras.datasets.reuters (x_train, y_train), (x_test, y_test) = reuters.load_data() tf.keras.datasets.reuters.get_word_index( path='reuters_word_index.json' )
### 回答1: tf.keras.layers.input是TensorFlow Keras中的一个输入,用于定义模型的输入形状和数据类型。它可以接受一个shape参数,用于指定输入张量的形状,例如shape=(32,)表示输入张量的形状为(32,),即一个长度为32的一维张量。此外,还可以指定dtype参数,用于指定输入张量的数据类型,例如dtype='float32'表示输入张量的数据类型为float32。 ### 回答2: tf.keras.layers.input是TensorFlow中的一个级,用于表示神经网络模型的输入。当我们开始创建一个新的神经网络模型时,第一步一般就是创建一个输入,来表示模型的输入数据。通过在输入上设置输入的尺寸(比如图像的高和宽、文本的长度等等),我们就可以告诉模型在输入数据的每个维度上所期望的尺寸,从而帮助模型自动调整网络级之间的参数。 因为神经网络模型通常需要多个不同的级来完成复杂的任务,所以我们在创建输入时需要考虑多个因素。第一个是输入类型。比如说,如果我们正在处理图像数据,那么输入的类型就应该是“tf.keras.layers.InputLayer”,因为这种类型可以自动处理图像数据中的通道(channel)维度。如果输入的数据是文本,则输入的类型应该是“tf.keras.layers.TextInput”,因为这种类型可以自动处理文本数据中的词汇(vocabulary)维度。 另外一个需要考虑的因素是输入尺寸。在创建输入时,我们需要告诉模型输入数据的每个维度所期望的尺寸。比如说,对于一个三通道(RGB)的图像数据,我们可以使用以下代码来创建一个输入input_layer = tf.keras.layers.Input(shape=(224, 224, 3)) 这个代码中,我们使用“shape”参数来指定输入数据的尺寸。具体来说,224 x 224表示图像的高和宽,3表示图像的通道数,也就是RGB三个颜色通道,是需要用三维的形式来表示的。 总体来说,tf.keras.layers.Input是TensorFlow中十分重要的一个级。通过在模型中添加输入,我们可以自定义输入数据的类型和尺寸,从而帮助模型更好地适应我们的数据,并有效地完成各种复杂的任务。 ### 回答3: tf.keras.layers.input是 TensorFlow Keras(深度学习框架)中用于定义一个输入的类。在深度学习模型的神经网络中,输入是神经网络的第一,负责将原始的输入数据传递给后续的进行处理。tf.keras.layers.input的作用就是定义网络的输入形状(也就是输入数据的形状)。 tf.keras.layers.input的参数包括input_shape和name,其中input_shape表示输入数据的形状,如果输入数据是一个n维向量,那么input_shape为一个包含n个元素的列表,每个元素表示第n维的长度;name表示输入的名称。 而tf.keras.layers其它需要输入数据时,可以使用tf.keras.layers.InputLayer将数据转换为符合模型的输入,代码如下: ``` inputs = tf.keras.layers.InputLayer(input_shape=(input_shape))(inputs) ``` 从上面的代码可以看出,通过tf.keras.layers.InputLayer转换后,可以将数据作为tf.keras.models.Model模型输入。该模型的每个从上一个一直到输出接受一个输入并输出结果。因此,tf.keras.layers.input不仅能够定义输入的形状,也能将数据转换成符合模型的输入,具有非常重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InceptionZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值