1
例如,以下代码是否没有执行错误?可以使用内置张量函数作为神经网络的激活吗?
import tensorflow as tf
x_data = [1, 2, 3]
y_data = [1, 2, 3]
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
X = tf.placeholder(tf.float32, name="X")
Y = tf.placeholder(tf.float32, name="Y")
hypothesis = tf.maximum(tf.add(tf.mul(W, X), b),0)
cost = tf.reduce_mean(tf.square(hypothesis - Y))
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.1)
train_op = optimizer.minimize(cost)
_, cost_val = tf.Session.run([train_op, cost], feed_dict={X: x_data, Y: y_data})
注意在上面的代码中,我使用`tf.maximum(tf.add(tf.mul(W,X),b)中,0)作为到我不能肯定的其可执行性,因为我不知道tf.maximum可以计算反向传播。
更常见的问题是,是否可以通过tf.Session中的反向传播来训练由内置张量函数构造的任何激活函数?
我的问题换句话说,每张张量数学运算都带有梯度信息吗?
我认为[tf.nn.relu_layer(https://www.tensorflow.org/api_docs/python/tf/nn/relu_layer)就是你想? – xxi
@xxi不一般。 – julypraise