如何使tf.layers.dense变量的输出单位?

时间:2017-10-29 01:14:26

标签: tensorflow

我是张量流的初学者。我想使隐藏的图层大小可配置。让我们说只有一个隐藏层,我想

hidden1 = tf.layers.dense(X, n_hidden, activation=tf.nn.relu)

其中'n_hidden'是

n_hidden = tf.placeholder(tf.int64)

但我收到了很长的错误消息,最后是

TypeError:int()参数必须是字符串或数字,而不是'Tensor'

我搜索了一段时间,大多数代码示例都将此输出单元设置为常量或int变量。如何使其成为程序的可配置参数?感谢。

2 个答案:

答案 0 :(得分:0)

可以将它作为程序的输入参数(作为int,如in this question)但是对于给定的图形,此参数是固定的,因此它不能占位符或另一个计算的结果。如果要更改隐藏单位的数量,则必须重新创建图表。

答案 1 :(得分:-1)

根据文件,

enter image description here

其中,

单位:整数或长整数,输出空间的维数。

在您的代码中, n_hidden 应指定隐藏图层中的单位数。因此,它应该是一个数字,而不是一个张量。因此, tf.layers.dense 会根据指定的单位数量创建隐藏图层。