tf.nn.relu vs tf.keras.activations.relu

Я вижу, что и tf.nn.relu, и tf.keras.activations.relu вычисляют только функцию ReLU (без дополнительного полностью подключенного слоя или чего-либо, как описано здесь), так в чем же разница между ними? Один просто оборачивает другой?

1 ответ

  • tf.nn.relu: Из библиотеки TensorFlow. Он расположен в nn модуль. Следовательно, он используется как операция в нейронных сетях. Если x тогда тензор,

    y = tf.nn.relu( x )
    

    Он используется при создании пользовательских слоев и NN. Если вы используете его с Keras, вы можете столкнуться с некоторыми проблемами при загрузке или сохранении моделей или преобразовании модели в TF Lite.

  • tf.keras.activations.relu Это происходит из библиотеки Keras, включенной в TensorFlow. Он расположен в activations Модуль, который также предоставляет другие функции активации. В основном используется в слоях Keras (tf.keras.layers) для activation= аргумент:

    model.add( keras.layers.Dense( 25 , activation=tf.keras.activations.relu  ) )
    

    Но это также может быть использовано в качестве примера в приведенном выше разделе. Это более конкретно для Кераса (Sequential или же Model), а не необработанные вычисления TensorFlow.

tf.nn.relu является специфическим для TensorFlow, тогда как tf.keras.activations.relu имеет больше применений в собственной библиотеке Keras. Если я создам NN только с TF, я, скорее всего, буду использовать tf.nn.relu и если я создаю модель Keras Sequential, то я буду использовать tf.keras.activations.relu,

Другие вопросы по тегам