在示例代码中,我看到人们在张量流中构建变量(权重/偏差)的字典。我想知道与单独定义变量相比,这有什么好处
字典风格:
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) `
谢谢!
答案 0 :(得分:0)
“字典样式”可以让您更容易一次引用整个组(例如,传递给函数)。