gpt4 book ai didi

python - 如何避免读取 Tensorflow 中每个请求的图表

转载 作者:行者123 更新时间:2023-11-28 19:09:26 25 4
gpt4 key购买 nike

我有一个从 REST 端点调用并传入图像 URL 的 Tensorflow python 类。每次发起新请求时,它都会调用 create_graph 方法,该方法读取本地 .pb 文件。此文件不会因请求而改变。所以,我觉得在每次请求时都读取这个文件并没有很好地利用资源和时间。

代码如下:

import numpy as np
import tensorflow as tf
import urllib2

class MyTensorflow:

def __init__(self, url):
self.imageUrl = imageUrl

def create_graph(self):
with tf.gfile.FastGFile("/path/to/model.pb", 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')

def run_inference_on_image(self):
image_string = urllib2.urlopen(self.imageUrl).read()
with tf.Session() as sess:
...
...
return a_text_value

上面的代码是从 flask_restful 调用的,如下所示:

c = my_tensorflow.MyTensorflow(args['url'])
c.create_graph()
returned = c.run_inference_on_image()

问题

有没有办法只在第一次请求时调用create_graph,然后直到服务重启才调用它?

最佳答案

对于服务:每个进程只创建一次 session 。您可以多次调用 Session.run()。

关于python - 如何避免读取 Tensorflow 中每个请求的图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42275324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com