python - 不能将 queue.put 与 keras 模型一起使用
问题描述
我想使用多处理加载 3 个 keras 模型,但我无法从函数中获得任何结果。
我的代码
import tensorflow as tf
import multiprocessing
from multiprocessing import Process, Queue
def import_model_0(ModelPath, queue):
model = tf.keras.models.load_model(ModelPath)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
print('model 0 is ' ,model)
queue.put([model, '0'])
if __name__ == "__main__":
queue = Queue()
model_0 = Process(target=import_model_0, args=(model_path_set[0], queue, ))
model_1 = Process(target=import_model_1, args=(model_path_set[1], queue, ))
model_2 = Process(target=import_model_2, args=(model_path_set[2], queue, ))
model_0.start()
model_1.start()
model_2.start()
model_0.join()
model_1.join()
model_2.join()
print('Using time ', time.time()-ts, 'sec')
if queue.empty() is False:
get_model = queue.get()
print('recieve')
if get_model[1] == '0':
get_model_0 = get_model[0]
print(get_model_0)
elif get_model[1] == '1':
get_model_1 = get_model[0]
print(get_model_1)
elif get_model[1] == '2':
get_model_2 = get_model[0]
print(get_model_2)
当我的代码打印 get_model_0, get_model_1, get_model_2 它什么也不显示
解决方案
推荐阅读
- python - 为什么循环会更改我附加到解决方案的输入副本?
- google-apps-script - 如何使用 Google App Script 中的聊天 API 在 Google 聊天室(不是 Google 群组)中添加用户?
- nginx - nginx,为什么在参数查询上下载说我一个错误
- numpy - 频率变化且幅度恒定的正弦波的 FFT 不显示平台,为什么?
- javascript - 在 Woocommerce 中的订单元中保存自定义购物车项目数据时出现问题
- javascript - 为什么在重新计算 chrome 开发工具中的样式之前评估过 js ?
- mule - 如何检查文件内容是否已在 mule 4 中读取?
- java - 将网络拆分为多个前缀的子网 GitHub 库
- javascript - 如何使用 HTML/CSS/Javascript 在同一页面上的内容之间切换?
- sql - SQL左连接忽略第一个字母