张量流:神经网络模型中的可变级别数



我想知道是否有办法使用tensorflow(python(在模型中实现可变数量的隐藏层。我问这个是因为我不知道我必须实现多少个级别,我必须读取一个文件或变量才能获得该信息。
这就是我想做的:

w = tf.Variable(tf.random_normal([h, w]))
self.__encoder[index] = tf.matmul(label, w)

所以每个级别的__encoder都包含一个隐藏层,但我不知道它是否有效,也不知道如何实施训练。

在给你一个理由之前,我想说张量流是为静态计算图而生的。所以,这个答案是为了制作这个:

  1. 从文件中读取特定数字
  2. 构建具有该数量的隐藏层的模型
  3. 使用此模型并馈送一些其他输出

我仍然不清楚为什么您在某处读取隐藏层的数量,其中隐藏(或潜在(意味着这些是不依赖于您的数据的超参数。

无论如何,根据变量构建不同数量的层只是:

def layer(x, input_size, output_size):
w = tf.Variable(tf.truncated_normal(shape=[input_size, output_size]))
b = tf.Variable(tf.zeros([output_size]))
return tf.sigmoid(tf.matmul(x,w) + b)
num_layers = ... #read somewhere
size_layers = ... #output_dimesion for each layer
h = x
for i in range(num_layers):
h = layer(h, input_size, size_layers[i])
input_size = size_layer[i]

循环后,h 具有最后一层的输出。

最新更新