tensorflow一个进程中分析加载多个模型的方法

分别创建多个会话,多个图,每个会话中运行不同的图,最后关闭会话。

graph1 = tf.Graph()
graph2 = tf.Graph()
sess1 = tf.Session(graph=graph1) 
sess2 = tf.Session(graph=graph2)

with sess1.as_default(): 
    with graph1.as_default(): 
        tf.global_variables_initializer().run()
        #saver1 = tf.train.Saver(tf.global_variables()) 
        saver1 = tf.train.import_meta_graph(model_dir + '/bert_dssm_net.ckpt-00008972.meta')
        ckpt1 = tf.train.get_checkpoint_state(model_dir) 
        saver1.restore(sess1, ckpt1.model_checkpoint_path)
        word_embedding = graph1.get_tensor_by_name('bert/embeddings/word_embeddings:0')
        print(word_embedding.eval()

        word_embedding = word_embedding.eval()

with sess2.as_default():
    with graph2.as_default():
        tf.global_variables_initializer().run()
        #saver1 = tf.train.Saver(tf.global_variables()) 
        model_new_dir = "/home/ad-trigger/special_ad_evaluate/filter_by_wordvec/bert_finetune_model_v2"
        saver2 = tf.train.import_meta_graph(model_new_dir + '/model.ckpt-4000.meta')
        #加载模型参数值
        saver2.restore(sess2, tf.train.latest_checkpoint(model_new_dir))
        ckpt2 = tf.train.get_checkpoint_state(model_new_dir)
        saver2.restore(sess2, ckpt2.model_checkpoint_path)
        word_embedding2 = graph2.get_tensor_by_name('bert/embeddings/word_embeddings:0')
        print(word_embedding2.eval())
        word_embedding2 = word_embedding2.eval()
        print((word_embedding==word_embedding2).all())
sess1.close()
sess2.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值