我有一个已经加载了重量的keras模型,请参见model = ResNet50(weights='imagenet')
。现在我要对其进行处理,请参见python代码Process(model)
def Process(model):
from keras import backend as K
global _TF_SESSION
if _TF_SESSION is not None:
_TF_SESSION.close()
_TF_SESSION = tf.Session(graph=tf.get_default_graph())
sess = _TF_SESSION
K.set_session(sess)
sess.run(tf.global_variables_initializer())
问题是sess.run(tf.global_variables_initializer())
重设了模型中的权重。但是我不想重设这个,有没有办法解决这个问题?我尝试了几种方法,例如sess.run(tf.initialize_variables([]))
,它会引发错误tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value
我不想保存keras模型来建模文件并重新加载。另外,我想在函数Process()
而不是外部初始化tf会话。建议实现此目的的方法是什么(不重新设置权重)?非常感谢你!