如何在Tensorflow的神经网络层中实现不同的激活功能?

时间:2018-07-04 13:40:59

标签: python tensorflow

下面的行在每个神经元上创建一个具有S型激活功能的大小为3的层:

out = layers.dense(inputs=inp, units=3, activation=sigmoid)

我想做的是这样的:

out = layers.dense(inputs=inp, units=3, activation=[sigmoid sigmoid relu])

本质上,前两个神经元包含S型激活功能,而第三个神经元包含relu激活功能。

我的问题是:我该如何实现?

如果有人能回答这个问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

最简单,最干净的方法是只创建2个输出层:

sigmoid_out = layers.dense(inputs=inp, units=2, activation=tf.nn.sigmoid)
relu_out = layers.dense(inputs=inp, units=1, activation=tf.nn.relu)

然后,如果需要,可以同时合并两个图层:

out = tf.concat([sigmoid_out, relu_out], axis=1)