Python 关于tf.layers.dense的问题
我最近才开始学习tensorflow。做一些练习时,会出现一个问题。 对于构建隐藏层,我知道有两种方法可以定义Python 关于tf.layers.dense的问题,python,tensorflow,Python,Tensorflow,我最近才开始学习tensorflow。做一些练习时,会出现一个问题。 对于构建隐藏层,我知道有两种方法可以定义 通过使用tf.layers.dense定义完全连接层 e、 g layer_1=tf.layers.density(X,512,activation=tf.nn.relu) 第2层=tf.layers.density(第1256层,激活=tf.nn.relu) 通过使用直接矩阵乘法tf.add(tf.matmul(X,W),b)来定义层 e、 g: w1=tf.变量(tf.随机正常值(
感谢您的反馈。谢谢您的第一种方法将使用
tf.glorot\u uniform\u初始值设定项
在和中提到的默认情况下初始化权重,因此性能可能略有不同。我认为您也可以使用第一种方法来监控权重。您的第一种方法将使用tf.glorot\u uniform\u初始值设定项
来默认初始化权重,如和中所述,因此性能可能略有不同。我认为您也可以使用第一种方法来监控权重。使用tf.layers
与通过创建W
和b
矩阵,然后执行tf.matmul
和tf.add
来定义您自己的层绝对没有区别。例如,第一个代码段:
tf.reset_default_graph()
tf.set_random_seed(42)
X = tf.ones((5,4), dtype=tf.float32)
init = tf.initializers.random_uniform(minval=-0.1, maxval=0.1, dtype=tf.float32)
logits_first = tf.layers.dense(inputs = X, units = 7, kernel_initializer=init,
bias_initializer=init)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
sess.run(logits_first)
计算结果与第二个代码段的值相同:
tf.reset_default_graph()
tf.set_random_seed(42)
X = tf.ones((5,4), dtype=tf.float32)
W = tf.Variable(tf.random_uniform([4, 7], -0.1, 0.1), dtype=tf.float32)
b = tf.Variable(tf.random_uniform([7], -0.1, 0.1), dtype=tf.float32)
logits_second = tf.add(tf.matmul(X, W), b)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
sess.run(logits_second)
此外,您可以监视这两种方法。可以在tensorboard中监控图形创建中定义的所有内容。使用
tf.layers
与通过创建W
和b
矩阵,然后执行tf.matmul
和tf.add
来定义您自己的层绝对没有区别。例如,第一个代码段:
tf.reset_default_graph()
tf.set_random_seed(42)
X = tf.ones((5,4), dtype=tf.float32)
init = tf.initializers.random_uniform(minval=-0.1, maxval=0.1, dtype=tf.float32)
logits_first = tf.layers.dense(inputs = X, units = 7, kernel_initializer=init,
bias_initializer=init)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
sess.run(logits_first)
计算结果与第二个代码段的值相同:
tf.reset_default_graph()
tf.set_random_seed(42)
X = tf.ones((5,4), dtype=tf.float32)
W = tf.Variable(tf.random_uniform([4, 7], -0.1, 0.1), dtype=tf.float32)
b = tf.Variable(tf.random_uniform([7], -0.1, 0.1), dtype=tf.float32)
logits_second = tf.add(tf.matmul(X, W), b)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
sess.run(logits_second)
此外,您可以监视这两种方法。可以在tensorboard中监视图形创建中定义的所有内容