我看到tf.nn.relu和tf.keras.activations.relu都只计算ReLU函数(没有其他完全连接的层或其他东西,如描述的这里),那么它们之间有什么区别呢?其中一个只是包裹另一个吗?
发布于 2019-02-19 08:25:53
tf.nn.relu:它来自TensorFlow库。它位于nn模块中。因此,它被用作神经网络中的一种操作。如果x是张量,
Y= tf.nn.relu( X)
它用于创建自定义层和NN。如果将它与Keras一起使用,则在加载或保存模型或将模型转换为TF时可能会遇到一些问题。tf.keras.activations.relu:它来自TensorFlow中包含的Keras库。它位于activations模块中,该模块还提供了另一个激活函数。它主要用于Keras ( tf.keras.layers )中的activation=参数:
model.add( keras.layers.Dense( 25,activation=tf.keras.activations.relu ))
但是,它也可以用作上述部分中的示例。它更特定于Keras ( Sequential或Model ),而不是原始的TensorFlow计算。
tf.nn.relu是特定于TensorFlow的,而tf.keras.activations.relu在Keras自己的库中有更多的用途。如果我创建一个只有TF的NN,我很可能使用tf.nn.relu,如果我要创建一个Keras模型,那么我将使用tf.keras.activations.relu。
https://stackoverflow.com/questions/54761088
复制相似问题