RNNCell, к которому добавляется проекция на размер output_size.
input_keep_prob
тензор unit или число с плавающей точкой от 0 до 1, вероятность сохранения входных данных; если это константа и 1, входной дропаут не будет добавлен.
output_keep_prob
тензор unit или число с плавающей точкой от 0 до 1, вероятность сохранения выходных данных; если это константа и 1, выходной дропаут не будет добавлен.
state_keep_prob
тензор unit или число с плавающей точкой от 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
(необязательно) форма 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.