我们正在尝试在服务器上使用TensorFlow(TF)来推断图像。
android应用将jpeg图像发送到我的机器,php api执行我的android推理(python)脚本并返回分数,大约需要6s,但是我们意识到加载TF需要很长时间,但是进行推理的时间很短,例如,一个请求占用了10%的资源,另一个请求占用了10%的资源,因此对于同时进行的两个推理和两个TF模型,它只有20%的资源。
我们只想在后台加载一个TF实例:
同一时间服务器仅加载1个TF实例。
我们在做什么:
用php在TensorFlow中调用 api.php
shell_exec("python3 myinferece.py image=image_path")
和TF推论: inference.py
with tf.Session(graph=graph) as sess:
scores = sess.run(our_params)
最终的代码部署在aws中。
答案 0 :(得分:0)
要完成保持TensorFlow运行并接受多个推理请求的任务,您将需要某种形式的进程间通信。
例如,您可以使TF Python程序通过管道等待新的输入,而PHP程序每次有新请求进入时,都会通过管道将这些值发送给管道。
为每种类型的进程间通信(管道,套接字)提供完整的示例超出了此问题的范围,但这足以让您入门。