关于xavier_initializer 在 tens

2024-06-26 13:48:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到了xavier_initializer()的以下解释。它说var(wi) = 1/Navg,它在实际实现过程中获取输入神经元的数量。在

https://prateekvjoshi.com/2016/03/29/understanding-xavier-initialization-in-deep-neural-networks/

然而,在下面的例子中,没有神经元。我计算了W的方差。有人知道它的方差是根据xavier_initializer()确定的吗?谢谢!在

$ cat main.py
#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:

import tensorflow as tf
W = tf.get_variable("W", shape=[5], initializer=tf.contrib.layers.xavier_initializer())
init = tf.global_variables_initializer()
import numpy
with tf.Session() as sess:
    sess.run(init)
    print numpy.var(W.eval())
$ ./main.py 
0.166031

Tags: pyimportnumpyinitmain过程vartf
1条回答
网友
1楼 · 发布于 2024-06-26 13:48:53

如果我像这样修改你的代码,你还有问题吗?在

import numpy as np
import tensorflow as tf

W = tf.get_variable("W", shape=[5],initializer=tf.contrib.layers.xavier_initializer())
init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    w_value = sess.run(W)
    print w_value
    print np.var(w_value)

相关问题 更多 >