tf.compat.v1.nn.rnn_cell.DropoutWrapper
Оператор добавления дропаута к входным и выходным данным заданного ячейки.
Наследуется от: RNNCell, Layer, Layer, Module
tf.compat.v1.nn.rnn_cell.DropoutWrapper(
*args, **kwargs
)
| Аргументы | |
|---|---|
cell | ячейка RNN, к ней добавляется проекция на размер output_size. |
input_keep_prob | тензор или число с плавающей точкой от 0 до 1, вероятность сохранения входа; если оно постоянно равно 1, дропаут для входа не будет добавлен. |
output_keep_prob | тензор или число с плавающей точкой от 0 до 1, вероятность сохранения вывода; если оно постоянно равно 1, дропаут для вывода не будет добавлен. |
state_keep_prob | тензор или число с плавающей точкой от 0 до 1, вероятность сохранения вывода; если оно постоянно равно 1, дропаут для вывода не будет добавлен. Дропаут для состояния выполняется для исходящих состояний ячейки. Примечание компоненты состояния, к которым применяется дропаут, когда state_keep_prob находится в (0, 1), также определяются аргументом dropout_state_filter_visitor (например, по умолчанию дропаут никогда не применяется к c компоненту LSTMStateTuple). |
variational_recurrent | булево значение Python. Если True, то один и тот же шаблон дропаута применяется ко всем временным шагам за вызов. Если этот параметр установлен, input_size должен быть указан. |
input_size | (необязательно) (возможно, вложенный кортеж) объекты TensorShape, содержащие глубину(ы) входных тензоров, которые ожидается передать в DropoutWrapper. Требуется и используется если variational_recurrent = True и input_keep_prob < 1. |
dtype | (необязательно) Размер входных, состояния и выходных тензоров. Требуется и используется если variational_recurrent = True. |
seed | (необязательно) целое число, семен для генерации случайных чисел. |
dropout_state_filter_visitor | (необязательно), значение по умолчанию: (см. ниже). Функция, которая принимает любой иерархический уровень состояния и возвращает скалярную или структуру с глубиной 1 Python-булевых значений, описывающих, какие элементы в состоянии следует отбросить. Кроме того, если функция возвращает True, дропаут применяется к этому подуровню. Если функция возвращает False, дропаут не применяется к этому всему под-уровню. Поведение по умолчанию: выполнять дропаут для всех элементов, кроме памяти (c) состояния LSTMCellState объектов, и не пытаться применить дропаут к TensorArray объектам: def dropout_state_filter_visitor(s): if isinstance(s, LSTMCellState): # Never perform dropout on the c state. return LSTMCellState(c=False, h=True) elif isinstance(s, TensorArray): return False return True |
**kwargs | словарь с ключевыми аргументами для базового слоя. |
| Исключения | |
|---|---|
TypeError | если cell не является RNNCell, или keep_state_fn предоставлено, но не callable. |
ValueError | если любое из keep_probs не находится в диапазоне от 0 до 1. |
| Атрибуты | |
|---|---|
graph | |
output_size | |
scope_name | |
state_size | |
wrapped_cell | |
Методы
get_initial_state
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
zero_state
zero_state(
batch_size, dtype
)
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/nn/rnn_cell/DropoutWrapper