tf.Variables的定义(使用列表?)

时间:2019-02-09 21:15:48

标签: python tensorflow neural-network

我从Tensorflow开始,到目前为止,我只处理了带有少量隐藏层的``浅''前馈网络或神经网络,它们的对应W以这种方式单独定义(示例对应到具有五个隐藏层的网络的初始化):

  W1 = tf.Variable(tf.truncated_normal([784,200], mean=0.0, stddev=0.1))
  W2 = tf.Variable(tf.truncated_normal([200,100], mean=0.0, stddev=0.1))
  W3 = tf.Variable(tf.truncated_normal([100,60], mean=0.0, stddev=0.1))
  W4 = tf.Variable(tf.truncated_normal([60,30], mean=0.0, stddev=0.1))
  W5 = tf.Variable(tf.truncated_normal([30,10], mean=0.0, stddev=0.1))
  b1 = tf.Variable(tf.truncated_normal([200]))
  b2 = tf.Variable(tf.truncated_normal([100]))
  b3 = tf.Variable(tf.truncated_normal([60]))
  b4 = tf.Variable(tf.truncated_normal([30]))
  b5 = tf.Variable(tf.truncated_normal([10]))

我的问题是是否存在任何机制将神经网络的深度作为超参数传递(同时指定每层节点的数量),以便在处理更深层的网络时可以避免此步骤。 / p>

在此先感谢您,祝您周末愉快。

1 个答案:

答案 0 :(得分:0)

我不知道有一个函数可以获取图层大小列表并输出前馈网络,但是如果您使用Tensorflow中包含的Keras API,则编写该函数将是一个相对简单的函数

https://www.tensorflow.org/tutorials/keras/basic_classification

您可以编写一个函数,该函数采用图层大小和非线性(relu,Sigmoid等)的列表,并使用keras.Sequential类输出前馈网络。 Keras是用于创建神经网络的高级API,并且已经包含在Tensorflow中。此外,Tensorflow致力于使其在v2.0(https://medium.com/tensorflow/standardizing-on-keras-guidance-on-high-level-apis-in-tensorflow-2-0-bad2b04c819a

中更加集中