Я пытаюсь инициализировать tf.Variable()
в tf.InteractiveSession()
.У меня уже есть некоторые предварительно обученные веса, которые являются отдельными numpy
файлами.Как эффективно инициализировать переменную с этими numpy
значениями?
Я прошел через следующие опции:
- Используя
tf.assign()
- используя
sess.run()
непосредственно при tf.Variable()
создании
Похоже, что значения неправильно инициализированы.Ниже приведен код, который я пробовал.Дайте мне знать, какой из них правильный?
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
, и это тот же сеанс, который использовался повсюду.
edit: В настоящее время кажется, что использование sess.run(tf.global_variables_initializer())
вызывает случайную инициализацию op