tf.keras.Input
| Просмотреть исходный код на GitHub |
Input() используется для создания тензора Keras.
tf.keras.Input(
shape=None,
batch_size=None,
name=None,
dtype=None,
sparse=None,
tensor=None,
ragged=None,
type_spec=None,
**kwargs
)
Тензор Keras — это символический тензор-подобный объект, к которому мы добавляем определённые атрибуты, позволяющие построить модель Keras, зная только входные и выходные данные модели.
Например, если a, b и c являются тензорами Keras, становится возможным выполнить следующее: model = Model(input=[a, b], output=c)
| Аргументы | |
|---|---|
shape | Кортеж форм (целые числа), не включая размерность пакета. Например, shape=(32,) указывает, что ожидаемый вход будет партиями из 32-мерных векторов. Элементы этого кортежа могут быть None; элементы 'None' представляют размерности, где форма неизвестна. |
batch_size | Необязательный статический размер пакета (целое число). |
name | Необязательная строка имени слоя. Должно быть уникальным в модели (не следует использовать одно и то же имя дважды). Будет сгенерировано автоматически, если не указано. |
dtype | Тип данных, ожидаемый входом, как строка (float32, float64, int32...) |
sparse | Булево значение, указывающее, является ли создаваемый заполнятель разреженным. Только одно из 'раздробленный' и 'разреженный' может быть True. Обратите внимание, что если sparse имеет значение False, разреженные тензоры всё же могут быть переданы на вход — они будут денсифицированы со значением по умолчанию 0. |
tensor | Необязательный существующий тензор для обертывания в слой Input. Если задано, слой будет использовать tf.TypeSpec этого тензора вместо создания нового тензора-заполнителя. |
ragged | Булево значение, указывающее, является ли создаваемый заполнятель раздробленным. Только одно из 'раздробленный' и 'разреженный' может быть True. В этом случае значения 'None' в аргументе 'shape' представляют раздробленные размерности. Для получения дополнительной информации о раздробленных тензорах см. данное руководство. |
type_spec | Объект tf.TypeSpec для создания заполнителя ввода. При указании данного параметра все другие аргументы, кроме имени, должны быть None. |
**kwargs | Поддержка устаревших аргументов. Поддерживает batch_shape и batch_input_shape. |
| Возвращаемое значение | |
|---|---|
A tensor. |
Пример:
# this is a logistic regression in Keras x = Input(shape=(32,)) y = Dense(16, activation='softmax')(x) model = Model(x, y)
Обратите внимание, что даже если выполняется жадное выполнение, Input создаёт символический тензор-подобный объект (т. е. заполнятель). Этот символический тензор-подобный объект можно использовать с операциями TensorFlow более низкого уровня, которые принимают тензоры в качестве входных данных, например:
x = Input(shape=(32,)) y = tf.square(x) # This op will be treated like a layer model = Model(x, y)
(Это поведение не работает для API TensorFlow более высокого уровня, таких как управление потоками и прямое наблюдение за tf.GradientTape).
Однако полученная модель не будет отслеживать какие-либо переменные, которые были использованы в качестве входных данных для операций TensorFlow. Все использования переменных должны происходить внутри слоёв Keras, чтобы убедиться, что они будут отслеживаться весами модели.
Keras Input также может создать заполнятель из произвольного tf.TypeSpec, например:
x = Input(type_spec=tf.RaggedTensorSpec(shape=[None, None],
dtype=tf.float32, ragged_rank=1))
y = x.values
model = Model(x, y)
При передаче произвольного tf.TypeSpec он должен представлять подпись всего пакета, а не только одного примера.
| Исключения | |
|---|---|
ValueError | Если оба sparse и ragged указаны. |
ValueError | Если оба shape и (batch_input_shape или batch_shape) указаны. |
ValueError | Если shape, tensor и type_spec имеют значение None. |
ValueError | Если аргументы помимо type_spec отличны от None, а type_spec передан. |
ValueError | если указаны любые нераспознанные параметры. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/Input