【发布时间】:2017-08-03 19:37:05
【问题描述】:
在示例代码中,我看到人们在 tensorflow 中构建变量(权重/偏差)字典。我想知道与单独定义变量相比,这样做有什么好处
字典样式:
weights = {
'encoder_w1': tf.Variable(tf.random_normal([n_input, n_hidden_1], stddev= sd), name='encoder_w1'),
'encoder_w2': tf.Variable(tf.random_normal([n_hidden_1, n_hidden_2], stddev= sd), name='encoder_w2'),
'decoder_w1': tf.Variable(tf.random_normal([n_hidden_2, n_hidden_1], stddev= sd), name='decoder_w1'),
'decoder_w2': tf.Variable(tf.random_normal([n_hidden_1, n_input], stddev= sd), name='decoder_w2')
}
biases = {
'encoder_b1': tf.Variable(tf.random_normal([n_hidden_1], stddev= sd), name='encoder_b1'),
'encoder_b2': tf.Variable(tf.random_normal([n_hidden_2], stddev= sd), name='encoder_b2'),
'decoder_b1': tf.Variable(tf.random_normal([n_hidden_1], stddev= sd), name='decoder_b1'),
'decoder_b2': tf.Variable(tf.random_normal([n_input], stddev= sd), name='decoder_b2')
}
独立风格:
encoder_w1 = tf.Variable(tf.random_normal([n_input, n_hidden_1], stddev= sd), name='encoder_w1')
encoder_w2 = tf.Variable(tf.random_normal([n_input, n_hidden_1], stddev= sd), name='encoder_w2')
decoder_w1 = tf.Variable(tf.random_normal([n_input, n_hidden_1], stddev= sd), name='decoder_w1')
#... (you get the idea) `
谢谢!
【问题讨论】:
-
这完全是一个舒适的问题,特别是将所有这些作为参数一起传递给一个函数,例如这样非常好,但结果将是相同的
标签: python dictionary tensorflow