tf.map_fn中的变量创建和正则化器可调用

时间:2019-02-18 21:06:52

标签: tensorflow

输入张量的形状为[batch,d1,d2]。我想创建一个神经网络,为每个d1元素采用一个形状为[d2]的张量。

let example =
    {
        example:
        {
            test: 
                "test"
        }
    }

我在这里发现两个问题: 1。

weight_reg = tf.contrib.layers.l2_regularizer(0.01)
def _inner_nn(t):
  v = tf.Variable(initial_value=tf.constant(0.0), ...)
  return tf.layers.dense(t, 10, kernel_regularizer=weight_reg)

inner_op = tf.map_fn(input_tensor, inner_nn)
return tf.reduce_mean(inner_op, axis=1)

不确定如何使用lambda作为初始化程序来处理此错误。

  1. 总结正则化损失时,似乎不允许使用Initializer for variable v is from inside a control-flow construct, such as a loop or conditional. When creating a variable inside a loop or conditional, use a lambda as the initializer. 中的正则化器。
_inner_nn

是否有更好的方法来实现我想做的事情(或解决/解决这些问题)?

0 个答案:

没有答案