ячейка 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.