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
,