【发布时间】:2019-04-29 19:16:20
【问题描述】:
我正在尝试在 tf.InteractiveSession() 中初始化 tf.Variable()。我已经有一些预训练的权重,它们是单独的 numpy 文件。如何使用这些 numpy 值有效地初始化变量?
我已经经历了以下选择:
- 使用
tf.assign() - 在创建
tf.Variable()期间直接使用sess.run()
似乎值未正确初始化。 以下是我尝试过的一些代码。让我知道哪个是正确的?
def read_numpy(file):
return np.fromfile(file,dtype='f')
def build_network():
with tf.get_default_graph().as_default():
x = tf.Variable(tf.constant(read_numpy('foo.npy')),name='var1')
sess = tf.get_default_session()
with sess.as_default():
sess.run(tf.global_variables_initializer())
sess = tf.InteractiveSession()
with sess.as_default():
build_network()
这是正确的方法吗?我已经打印了session 对象,它与自始至终使用的会话相同。
编辑:目前似乎使用sess.run(tf.global_variables_initializer()) 正在调用随机初始化操作
【问题讨论】:
标签: python numpy tensorflow global-variables