[英]Tensor Flow Lite Model with Standard Tensorflow
I am working on a Tensorflow simple app (would like to detect if people are in a captured image). 我正在开发一个Tensorflow简单应用程序(想检测人是否在捕获的图像中)。
I'm familiar with the python interface to Tensorflow. 我熟悉Tensorflow的python接口。 I see Tensorflow Lite has a different reduced format.
我看到Tensorflow Lite具有不同的简化格式。
I'm interested in using the model linked (for not wanting to spend time to create my own) in the Tensorflow Lite Examples in a traditional tensorflow python program with a PC Based GPU. 我对使用基于PC的GPU的传统tensorflow python程序中的Tensorflow Lite示例中的链接模型非常感兴趣(因为不想花时间创建自己的模型)。
https://www.tensorflow.org/lite/models/image_classification/overview https://www.tensorflow.org/lite/models/image_classification/overview
Is this possible? 这可能吗?
When I run the following code I receive 当我运行以下代码时,我收到
import tensorflow as tf
def load_pb(path_to_pb):
with tf.gfile.GFile(path_to_pb, "rb") as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
with tf.Graph().as_default() as graph:
tf.import_graph_def(graph_def, name='')
return graph
load_pb('detect.tflite')
main.py:5: RuntimeWarning: Unexpected end-group tag: Not all data was converted graph_def.ParseFromString(f.read()) main.py:5:RuntimeWarning:意外的端组标记:并非所有数据都已转换graph_def.ParseFromString(f.read())
You can follow the example provided by the Tensorflow documentation. 您可以遵循Tensorflow文档提供的示例 。 The tflite model and labels were taken from here .
tflite模型和标签是从这里获取的 。 The code runs on a regular desktop PC.
该代码在常规台式机上运行。
import tensorflow as tf
import requests
import io
from PIL import Image
import numpy as np
# load model
interpreter = tf.contrib.lite.Interpreter(model_path="mobilenet_v1_1.0_224_quant.tflite")
interpreter.allocate_tensors()
# get details of model
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()
# load an image
r = requests.get('https://www.tensorflow.org/lite/models/image_classification/images/dog.png')
# convert the image RGB, see input_details[0].shape
img = Image.open(io.BytesIO(r.content)).convert('RGB')
# resize the image and convert it to a Numpy array
img_data = np.array(img.resize(input_details[0]['shape'][1:3]))
# run the model on the image
interpreter.set_tensor(input_details[0]['index'], [img_data])
interpreter.invoke()
output_data = interpreter.get_tensor(output_details[0]['index'])
# get the labels
with open('labels_mobilenet_quant_v1_224.txt') as f:
labels = f.readlines()
print(labels[np.argmax(output_data[0])])
West Highland white terrier
西部高地白梗
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.