0

我有一个由 3 个隐藏层组成的神经网络(所以我总共有 5 个层)。我想在每个隐藏层使用校正线性单元,但在最外层我想在 logits 上应用Softmax。我想使用DNNClassifier. 我已经阅读了TensorFlow 的官方文档,其中设置了activation_fn他们所说的参数值:

activation_fn:应用于每一层的激活函数。如果没有,将使用 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]
)
4

1 回答 1

2

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

应用于每一层的激活函数。如果没有,将使用 tf.nn.relu。

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

于 2017-03-09T14:21:22.113 回答