python多进程初步之一个模型一个进程?

在处理两个基于TensorFlow的模型时,由于模型定义冲突,导致在一个模型运行后,另一个无法正常运行。尝试使用多进程并行,通过Pool进行处理,发现在4G内存的电脑上效果不佳。在服务器上,当进程数超过一定值时,程序不执行。通过调整进程数和限制数据长度解决了内存爆炸问题,最终发现使用传统的Pool实现并行可以成功运行模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面试当中一般也会问到这个问题,多线程与多进程,此处不表。我只想解决我的问题:

两个都是基于tf的模型,一个模型with下结束后,另外一个运行就出错,说模型定义什么的。

搜索了下,发现tf模型需要在各自的图定义下运行,问题是一个是有定义的,一个是库,这个库依赖的是keras,不好搞啊,并不都是with tf.Session() as sess能解决的。

不妨先按照别人的方法试试看,搞个类。

import tensorflow as tf

class ImportGraph():
    """  Importing and running isolated TF graph """
    def __init__(self, loc):
        # Create local graph and use it in the session
        self.graph = tf.Graph()
        self.sess = tf.Session(graph=self.graph)
        with self.graph.as_default():
            # Import saved model from location 'loc' into local graph
            # 从指定路径加载模型到局部图中
            saver = tf.train.import_meta_graph(loc + '.meta',
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李飞刀李寻欢

您的欣赏将是我奋斗路上的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值