在没有重置参数的情况下在tensorflow后端中加载keras模型

时间:2019-01-20 18:14:36

标签: python tensorflow keras

我有一个已经加载了重量的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会话。建议实现此目的的方法是什么(不重新设置权重)?非常感谢你!

0 个答案:

没有答案