我有一个C ++应用程序,可以运行Tensorflow模型,包括Inception V1和V3。
我也能够在我的InceptionV3图形/协议缓冲区上成功运行optimize_for_inference和quantize_graph
然而,在InceptionV1上运行optimize_for_inference(来自Tensorflow的inception5h.zip,我相信它也被称为GoogleNet?),导致图形尺寸小得多(17 MB对54 MB),但它也不再功能与我的应用程序。
运行优化图会导致错误,说明名为“输出”的张量不再可用。
我理解optimize_for_inference会更改图形结构,删除不必要的节点。但是,我将输出指定为:
# app/management/commands/refresh_token_youtube.py
from django.core.management.base import BaseCommand
from social.apps.django_app.me.models import UserSocialAuth
from social.apps.django_app.utils import load_strategy
class Command(BaseCommand):
def handle(self, *args, **options):
for social_user in UserSocialAuth.objects.filter(provider='google-oauth2'):
social_user.refresh_token(load_strategy())
# crontab to run it every 30th minute
*/30 * * * * /path_to/env/bin/python /path_to/refresh_token_youtube.py
在我看来,我的输出张量命名相同。
通过我的C ++应用程序运行生成的图形(tensorflow_inceptionV2_graph_optimized.pb)会导致此错误:
$ bazel-bin/tensorflow/python/tools/optimize_for_inference --input=/Users/vade/Documents/Repositories/Synopsis/Synopsis/Synopsis/TensorFlowAnalyzer/models/inception5h/tensorflow_inceptionV2_graph.pb --output=/Users/vade/Documents/Repositories/Synopsis/Synopsis/Synopsis/TensorFlowAnalyzer/models/inception5h/tensorflow_inceptionV2_graph_optimized.pb --input_names=input --output_names=output,softmax0
如何解决此问题,或推断出新的输出张量名称?
谢谢。