Как найти список доступных сокращений строк для классов keras, используемых в качестве аргументов? - PullRequest
0 голосов
/ 28 июня 2019

Keras (в частности, я использую tf.keras) позволяет вам использовать определенные строки в качестве аргументов при создании нового экземпляра класса, и эти строки ссылаются на другие классы Keras. Например, 'elu' в tf.keras.layers.Dense(10, activation='elu') является сокращением для tf.keras.activations.elu.

Однако в документации я не могу найти какой-либо исчерпывающий список допустимых аргументов для каждого параметра. Некоторые из них будут очевидны, но было бы намного проще, если бы у меня был список для работы. Кроме того, поведение аргументов, таких как «точность» в model.compile(..., metrics=['accuracy']), кажется слишком неоднозначным, чтобы отсутствовать в документации, описывающей его поведение.

Может кто-нибудь помочь указать мне соответствующие ресурсы для этой проблемы? В дополнение к вышеупомянутой «точности», меня также особенно интересует параметр монитора tf.keras.callbacks.EarlyStopping. И кто-нибудь знает, почему в исходной документации так не хватает? Заранее спасибо!

1 Ответ

0 голосов
/ 28 июня 2019

К сожалению, это не задокументировано, и нет единого места хранения таких строковых констант.

Когда keras получает tf.keras.layers.Dense(10, activation='elu'), он входит в функциональный модуль активации и буквально вызывает функцию активации по имени, если она там присутствует. Таким образом, activation='elu' будет преобразовано в tf.keras.activations.elu().

В то же время это означает, что вы можете использовать любое имя функции активации в виде строки.

Вы можете взглянуть на код , предложенный здесь , чтобы обойти эту проблему.

...