问题:在将两个不同的keras模型放在一个python文件中执行的时候,总是出现各种各样的问题,而且采用多线程也不能解决问题,主要是因为线程之间是共享资源的,后来移到多进程中,完美解决。多进程可以参考一下代码,keras模型没有嵌入其中,可自行加入。
from multiprocessing import Queue ##注意,多进程管道通信,不能用from queue import Queue
from multiprocessing import Process
import os
import time
#将信息写入进程
def w(q):
print("开始写入%s"%os.getpid())
for i in "hello":
#将信息写入队列。
q.put(i)
print(i)
#读取进程里面的信息。
def rd(q):
print("%s开始读取信息"%os.getpid())
while True:
if not q.empty():
#从队列里面读取信息。
time.sleep(2)
print("read to %s" % q.get())
if __name__=="__main__":
#创建进程队列,通过类的实例化来实现。:
q=Queue()
#创建写入进程.
t=Process(target=w,args=(q,))
#启动写入进程。
t.start()
#创建读取进程。
r=Process(target=rd,args=(q,))
#启动读取进程。
r.start()
网友评论