如何在输出层使用softmax激活功能,但是在TensorFlow的中间层重新使用?

时间:2017-03-09 14:00:31

标签: python tensorflow neural-network softmax activation-function

我有3个隐藏层的神经网络(所以我总共有5层)。我想在每个隐藏层使用整流线性单位,但在最外层我想在logits上应用 Softmax 。我想使用DNNClassifier。我已经阅读了TensorFlow的official documentation,用于设置他们所说的参数activation_fn的值:

  

activation_fn:应用于每个图层的激活功能。如果为None,将使用tf.nn.relu。

我知道我总是可以编写自己的模型并使用激活函数的任意组合。但由于DNNClassifier更具体,我想诉诸于此。到目前为止,我有:

classifier = tf.contrib.learn.DNNClassifier(
  feature_columns=features_columns,
  hidden_units=[10,20,10],
  n_classes=3
  # , activation_fn:::: I want something like below
  # activation_fn = [relu,relu,relu,softmax]
)

1 个答案:

答案 0 :(得分:2)

很抱歉,但仅使用一个DNNC分类器是不可能的。 正如您在示例中所示,您可以提供activation_fn

  

应用于每个图层的激活功能。如果为None,将使用tf.nn.relu。

但不是每一层都是单独的。要解决您的问题,您必须将此分类器链接到具有tanh actication函数的另一个图层。