如何创建一个tf.layers.Dense对象

时间:2017-10-02 18:11:39

标签: tensorflow

我想在tensorflow中创建一个密集层。我尝试了tf.layers.Dense(units),它将直接创建这个图层并获得结果,但我想要的只是一个“图层模块”,即类apply1(x, y)的一个对象。我想先在类中声明这些模块/层,然后使用几个成员函数apply2(x,y)tf.layers.Dense(units)来使用这些层。 但是当我在tensorflow tf.layers.dense(x, units)中进行时,它返回了:

  

layer = tf.layers.Dense(100)AttributeError:'module'对象没有   属性'密集'

但如果我做{{1}},那就没问题了。 感谢任何帮助。谢谢。

3 个答案:

答案 0 :(得分:2)

tf.layers.Dense返回一个函数对象,您以后将该对象应用于输入。它执行变量定义。

func = tf.layers.Dense(out_dim)
out = func(inputs)

tf.layers.dense既执行变量定义,又将密集层应用于输入以计算输出。

out = tf.layers.dense(inputs, out_dim)

答案 1 :(得分:0)

尽量避免使用占位符,你必须将feed_dict放入tf.Session中,这样可能会导致这个问题。

尝试使用新的估算器api来加载数据,然后使用密集层,就像在tensorflow的github考试中所做的那样:[https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/layers/cnn_mnist.py]

答案 2 :(得分:0)

在版本1.4之前,未在TensorFlow中导出

tf.layers.Dense。您可能安装了1.3或更早版本。 (您可以使用python -c 'import tensorflow as tf; print(tf.__version__)'检查版本。)