Если вашим строгим требованием является сохранение весов и смещений в массиве numpy, вы можете следовать этому примеру:
# In a TF shell, define all requirements and call the model function
y = model(x, is_training=False, reuse=tf.AUTO_REUSE) # For example
После вызова этой функции вы можете увидеть все переменные на графике, выполнив команду
tf.global_variables()
Вам необходимо восстановить все эти переменные из последней контрольной точки (скажем, ckpt_dir ), а затем выполнить каждую из этих переменных, чтобы получить последние значения.
checkpoint = tf.train.latest_checkpoint('./model_dir/')
fine_tune = tf.contrib.slim.assign_from_checkpoint_fn(checkpoint,
tf.global_variables(),
ignore_missing_vars=True)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
gv = sess.run(tf.global_variables())
Now gv будет списком всех значений ваших переменных (весов и смещений);Вы можете получить доступ к любому отдельному компоненту с помощью индексации - gv [5] и т. Д. Или вы можете преобразовать все это в массив и сохранить с помощью numpy.
np.save('my_weights', np.array(gv))
Это сохранит все вашивесовые коэффициенты в вашем текущем рабочем каталоге в виде массива - my_weights.npy.
Надеюсь, это поможет.