代码之家  ›  专栏  ›  技术社区  ›  KOB

当试图使用tf.cond()仅构造DropOutRapper操作时出错,如果DropOutRate>0

  •  0
  • KOB  · 技术社区  · 6 年前

    DropoutWrapper 如果指定 dropout_rate l2_alpha 乘数值大于零。

    以下是我为辍学而努力实现的目标:

    layers = []
    for layer_size in self.hidden_sizes:
        cell = self.cell_type(layer_size)
        cell = tf.cond(
            self.dropout_rate > 0.0,
            lambda: tensorflow.contrib.rnn.DropoutWrapper(cell, output_keep_prob=(1.0 - self.dropout_rate)),
            lambda: cell
        )
        layers.append(cell)
    stacked_layers = tensorflow.contrib.rnn.MultiRNNCell(layers)
    

    这将引发错误:

    `TypeError: Failed to convert object of type <class 'tensorflow.python.ops.rnn_cell_impl.DropoutWrapper'> to Tensor. Contents: <tensorflow.python.ops.rnn_cell_impl.DropoutWrapper object at 0x7fa51b84bbe0>. Consider casting elements to a supported type.`
    

    有什么方法可以用 tf.cond() 或者其他方式?

    0 回复  |  直到 6 年前