gpt4 book ai didi

python - Tensorflow:如何明智地将两个神经网络层合并为一个

转载 作者:行者123 更新时间:2023-11-28 17:15:18 24 4
gpt4 key购买 nike

假设一个简单的神经网络有两个输入 Tensorflow:

W0 = tf.Variable(tf.zeros([784, 100]))
b0 = tf.Variable(tf.zeros([100]))
h_a = tf.nn.relu(tf.matmul(x, W0) + b0)

W1 = tf.Variable(tf.zeros([100, 10]))
b1 = tf.Variable(tf.zeros([10]))
h_b = tf.nn.relu(tf.matmul(z, W1) + b1)

问题:将这两层合并到下一层的一个好方法是什么?

我的意思是:

h_master = tf.nn.relu(tf.matmul(concat(h_a, h_b), W_master) + b_master)

但是我似乎找不到合适的函数。


编辑:请注意:如果我这样做:

h_master = tf.nn.tanh(tf.matmul(np.concatenate((h_a,h_b)),W_master) + b_master),

我收到以下错误:

ValueError: zero-dimensional arrays cannot be concatenated

(我猜这是因为占位符被 numpy 视为空数组,因此 h_a 和 h_b 是零维的。)

最佳答案

我找到了一个方法:

h_master = tf.nn.tanh(tf.matmul(tf.concat((h_a, h_b), axis=1), W_master) + b_master)

哪里:

W_master = tf.Variable(tf.random_uniform([110, 10], -0.01, 0.01))
b_master = tf.Variable(tf.zeros([10]))

关于python - Tensorflow:如何明智地将两个神经网络层合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44604190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com