在神经网络的添加层中
def add_layer(inputs, in_size, out_size,activation_function = None):
Weights = tf.Variable(tf. random_normal([in_size,out_size]))
biases = tf.Variable(tf.zeros([1,out_size])+ 0.1)# like list
Wx_plus_b = tf.matmul(inputs,Weights) + biases
if activation_function is None:
outputs = Wx_plus_b
else:
outputs = activation_function(Wx_plus_b)
return outputs
example
import tensorflow as tf
x = tf.random_normal([3, 3])
y = tf.random_normal([1, 3])
z = x + y
sess = tf.Session()
z_val = sess.run(z)
print(z_val)
TensorFlow 会隐式地把一个张量的异常维度调整到与另一个算子相匹配的维度以实现维度兼容。所以将一个维度为 [3,2] 的张量与一个维度为 [3,1] 的张量相加是合法的。这种操作在神经网络中也是常见,方便了不同维度向量之间的运算。