首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么tf-serving不能部署tensorrt优化的pb?

TensorFlow Serving(tf-serving)是一个用于部署机器学习模型的开源系统,它提供了一个高性能、可扩展的服务端框架。然而,tf-serving目前不支持直接部署经过TensorRT优化的TensorFlow模型(pb文件),原因如下:

  1. TensorRT是NVIDIA推出的用于深度学习推理的高性能优化库,它可以通过优化网络结构、减少计算精度、融合操作等技术来提高推理性能。然而,TensorRT优化的模型与原始的TensorFlow模型存在一些不兼容的地方,例如TensorRT不支持某些TensorFlow操作或特性,或者在优化过程中引入了一些限制。
  2. TensorFlow Serving是基于TensorFlow框架构建的,它的设计目标是提供一个通用的、可扩展的模型服务端框架,能够支持多种模型格式和推理需求。然而,由于TensorRT优化的模型与原始的TensorFlow模型存在不兼容性,tf-serving并没有直接集成TensorRT的支持。

尽管tf-serving不能直接部署TensorRT优化的pb文件,但可以通过其他方式实现TensorRT与tf-serving的集成。一种常见的做法是将TensorRT优化的模型转换为TensorFlow SavedModel格式,然后使用tf-serving部署该SavedModel。这样可以充分利用TensorRT的推理优化能力,并且能够与tf-serving的其他功能无缝集成。

总结起来,tf-serving不能直接部署TensorRT优化的pb文件是因为两者之间存在不兼容性,但可以通过将TensorRT优化的模型转换为TensorFlow SavedModel格式来实现集成。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

美团视觉GPU推理服务部署架构优化实践

2.1 模型优化工具与部署框架 深度学习模型部署前通常会使用优化工具进行优化,常见优化工具包括TensorRT、TF-TRT、TVM和OpenVINO等。...2.3 视觉推理服务面临问题与挑战 由于视觉模型存在上述特点,导致模型在部署优化上存在2个问题: 模型优化不彻底:TensorRT、TF-TRT等工具主要针对主干网络优化,但忽略了预处理部分,因此整个模型优化并不充分或者无法优化...其中检测和分类两个子模型是单独训练,推理时合并成单个模型,部署框架采用TF-Serving优化工具采用TF-TRT。...拆分后检测模型和分类模型经过TensorRT优化后采用Triton部署。...图10 通用服务部署架构示意图 这里需要解释一个重要问题,为什么这种部署架构是高效? 首先在宏观层面,模型拆分部署成微服务,通过调度服务实现了子模型流水线处理。

1.2K50

加速深度学习在线部署TensorRT安装及使用教程

但在部署推理时,为了降低成本,往往使用单个GPU机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署部署端也要有与训练时相同深度学习环境,如caffe,TensorFlow等。...基本做法都是基于现有的经典模型提出一种新模型结构,然后用这些改造过模型重新训练,再重新部署。 而tensorRT 则是对训练好模型进行优化tensorRT就只是推理优化器。...中,然后在tensorRT中可以针对NVIDIA自家GPU实施优化策略,并进行部署加速。...需要注意是:该转化过程只支持在x86平台上实现,如果想在TX2等嵌入式平台上使用tensorrt,需要先在x86平台上将pb模型转化为uff文件,然后再拷贝到TX2上使用 3.4 运行文件 运行sample.py...参考文章 通过pytorch搭建卷积神经网络完成手写识别任务,并将训练好模型以多种方式部署TensorRT中加速 https://github.com/GuanLianzheng/pytorch_to_TensorRT5

2.9K20
  • TensorRT安装及使用教程「建议收藏」

    但在部署推理时,为了降低成本,往往使用单个 GPU 机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署部署端也要有与训练时相同深度学习环境,如 caffe,TensorFlow 等。...基本做法都是基于现有的经典模型提出一种新模型结构,然后用这些改造过模型重新训练,再重新部署。 而 TensorRT 则是对训练好模型进行优化TensorRT 就只是推理优化器。...NVIDIA 自家 GPU 实施优化策略,并进行部署加速。....pb 文件,如果自己已经训练得到 pb 文件,上述过程可以跳过 3.3 格式转化 要将 tensorflow pb 文件转化为 uff 格式文件,首先找到 convert_to_uff 文件,看自己用是哪个版本...pb 模型转化为 uff 文件,然后再拷贝到 TX2 上使用 3.4 运行文件 运行 sample.py 文件,得到如下输出,表明可完整使用 TensorRT 4 使用自己模型 前边 3 步相当于是环境配置

    11.3K40

    【工程】深度学习模型部署那些事儿

    接下来,如果是基于网络调用,还要看看自己手里资源够不够,是壕到有专门GPU用于部署呢,还是只能苦逼地使用CPU呢,如果是GPU部署,那可以偷笑了,GPU部署服务方便同时性能又好,毕竟各种各样优化都是苦于资源不够...我们将模型部署TF-Serving服务器上,TF-Serving会自动根据传入端口和模型路径进行部署,模型所在服务器不需要python环境(以python训练为例),随后应用服务直接对模型所在服务器发起服务调用...人家快是有道理。 CPU 基于 TF-Serving 方案 那TensorFlow官方强推Serving工具表现怎么样呢?或许经过推理优化之后运行速度或许会快一些吧?...部署优化 虽然知道业界对BERT推理过慢广泛诟病,但在GPU和CPU下差距如此之大还是有些出乎意料。吃惊归吃惊,还得看看有没有优化方法。如果我们把CPU下耗时极大BERT放到GPU会怎么样?...05 — 最后 本文列举了基于网络调用几个模型部署方案,并且根据实际场景进行优化和变型,如果要在此之上要追求极致性能,就只能自己动手丰衣足食了,例如用C++或Go重写推理部分,或者利用大公司自研框架进行部署和推理

    1.6K10

    优化NVIDIA GPU性能,实现高效模型推理

    来自NVIDIA TensorRT TensorRT概述 为什么要使用TensorRT TensorRT提供了一系列深度学习模型优化工具,如精确校准和层融合。...可以使用这些方便工具,而无需了解基础算法详细信息。此外,TensorRT专门为GPU设备选择内核,从而进一步优化性能。...总结了使用TensorRT优缺点: 优点: 方便优化工具允许用户轻松有效地优化生产模型 特定于平台内核选择可最大限度地提高设备性能 支持TensorFlow和Caffe等主要框架 缺点: TensorRT...准备建立TensorRT引擎。可以构建一次引擎并将其部署到不同设备。但是由于引擎针对其构建设备进行了优化,因此建议为不同设备重新构建引擎,以最大限度地提高设备性能。...在实验中,通过以下方式优化预先训练SSD Mobilenet V2 TensorFlow模型: 将控制流操作置于CPU上并获得1.3倍改进 在TensorRT中运行并获得4倍提升 当TensorRT

    2.9K30

    深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)

    简介 深度学习(Deep Learning)因其计算复杂度或参数冗余,在一些场景和设备上限制了相应模型部署,需要借助模型压缩、系统优化加速、异构计算等方法突破瓶颈,即分别在算法模型、计算图或算子优化以及硬件加速等层面采取必要手段...);另外,针对数据中心部署应用,通常会选择通用方案以构建计算平台(标准化、规模化支持业务逻辑计算),需要考虑是否有完善生态支持,例如NVIDIACUDA,或者XilinxxDNN: 此外,从模型优化与系统优化角度分析...高性能推理引擎——TensorRT/TVM/MNN基础 TensorRT是NVIDIA推出面向GPU应用部署深度学习优化加速工具,即是推理优化引擎、亦是运行时执行引擎。...计算节点;FP32 TF TRT优化流程如下: from tensorflow.contrib import tensorrt as trt def transfer_trt_graph(pb_graph_def...ANSOR 技术分享 – 知乎 针对移动端应用部署:TVM自动编译优化也能取得理想优化加速效果,但是由于移动端需要适配多种OS、与多种设备,因此TVMtuning成本限制了其在移动端应用推广。

    1.7K10

    深度学习算法优化系列十九 | 如何使用tensorRT C++ API搭建网络

    前言 在深度学习算法优化系列十八 | TensorRT Mnist数字识别使用示例 中主要是用TensorRT提供NvCaffeParser来将Caffe中model转换成TensorRT中特有的模型结构...其中NvCaffeParser是TensorRT封装好一个用以解析Caffe模型工具 (高层API),同样还有NvUffPaser用于解析TensorFlowpb模型,NvONNXParse用于解析...使用C++ API函数部署流程 使用C++ API函数部署网络主要分成4个步骤,即: 创建网络。 给网络添加输入。 添加各种各样层。 设定网络输出。...,后面的推文我将从优化方面(低精度推理)来继续讲解TensorRT。...同期文章 深度学习算法优化系列十七 | TensorRT介绍,安装及如何使用?

    2.4K10

    AI部署系列:你知道模型权重小秘密吗???

    肯定是有用处,训练和部署时候权重分布可以作为模型是否正常,精度是否保持一个重要信息。不过这里先不展开说了。...比如一个简单reshape会四分五裂为gather+slip+concat,这种操作相当于复杂化了,不过一般来说这种情况可以使用ONNX-SIMPLIFY去优化掉,当然遇到较为复杂就需要自行优化了。...优化后?...我们权重放哪儿了呢? 肯定在build好后engine里头,不过这些权重因为TensorRT优化,可能已经被合并/移除/merge了。...神经网络虽然一直被认为是黑盒,那是因为没有确定理论证明。但是训练好模型权重我们是可以看到,模型基本结构我们也是可以知道,虽然无法证明模型为什么起作用?为什么work?

    83330

    边缘计算笔记(一): Jetson TX2上从TensorFlow 到TensorRT

    很多应用可以利用云端强大性能,但有些应用就不能,比如一些应用程序需要低延迟,如机器人或自动汽车,响应时间和可靠性是至关重要。...对于这些应用我们需要在传感器本身或者附近,就近处理,这就是为什么NVIDIA Jetson平台是一个很好边缘计算平台。 ?...一旦网络完成,就可以直接部署模型。然而,如果模型使用tensorRT进行优化,那么通常会有显着性能优势。...TensorRT是由nvidia提供,是一种优化神经网络推理加速器,与tensorflow和其他框架不同,tensorRT不用于训练深度学习模型,而是在你完成训练时 使用tensorRT优化模型以进行部署...通过使用tensorRT优化Tensorflow模型并在Jetson tx2上进行部署,在相同配置下测试每个模型在使用张量RT进行优化时执行速度超过两倍,从而实现了性能改进. ?

    4.7K51

    用Jetson Xavier NX做个AI白板

    经过这些操作后,我们需要使用规范化图像为经过重新训练网络提供数据,以进行正确推断。 该损失函数,我们用于训练网络是一个组合交叉熵损失和均方损失。我们使用Adam优化器找到了模型最佳权重。...如果IOU值大于0.5,则我们认为检测器可以正确预测手位置,否则-不能。 我们得到结果如下: 检测器有了很大改进。 然后,我们可以使用此升级版本来进一步改进我们AI白板。...幸运是,NVIDIA提供了一个库,可以充分利用基于GPU硬件:TensorRT库。为了使用该库,我们将模型(手和指尖检测器)转换为TensorRT引擎。...为此,我们遵循以下3个步骤:冻结图并删除训练节点(.h5-> .pb)将冻结图形转换为onnx(.pb-> .onnx)将onnx模型转换为TensorRT引擎(.onnx-> .engine) 转换后...注意:这里我们需要指出,TensorRT优化阶段运行特定于设备配置文件。因此,如果要使用其他硬件进行推理(与Xavier NX不同),则需要重建引擎。

    1.4K21

    用Jetson Xavier NX做个AI白板

    经过这些操作后,我们需要使用规范化图像为经过重新训练网络提供数据,以进行正确推断。 该损失函数,我们用于训练网络是一个组合交叉熵损失和均方损失。我们使用Adam优化器找到了模型最佳权重。...如果IOU值大于0.5,则我们认为检测器可以正确预测手位置,否则-不能。 我们得到结果如下: ? 检测器有了很大改进。 然后,我们可以使用此升级版本来进一步改进我们AI白板。...幸运是,NVIDIA提供了一个库,可以充分利用基于GPU硬件:TensorRT库。为了使用该库,我们将模型(手和指尖检测器)转换为TensorRT引擎。...为此,我们遵循以下3个步骤:冻结图并删除训练节点(.h5-> .pb)将冻结图形转换为onnx(.pb-> .onnx)将onnx模型转换为TensorRT引擎(.onnx-> .engine) 转换后...注意:这里我们需要指出,TensorRT优化阶段运行特定于设备配置文件。因此,如果要使用其他硬件进行推理(与Xavier NX不同),则需要重建引擎。

    1.2K21

    第五届Sky Hackathon第一名项目报告书

    数据集如下所示: 2.2 模型 因NeMo暂时并未提供中文预训练声学模型,并且和NVIDIA导师确认不能使用除NeMo之外TTS框架比如(ESPNet),因此本部分模型训练只能基于NeMo进行从头开始训练方式...3.3 TensorRT模型推断加速 关于TensorRT序列化模型和调用部分我们团队在该部分做了一些优化工作(团队认为可作为加分项工作),这部分优化是YOLOX官方代码没有涉及,经过我们优化我们将...这里要说明为什么其他开源YOLOX部署并没有涉及这一点,原因是网上开源包括官方开源代码在TensorRT部署时为了避免ScatterND问题而将YOLOXDecoder-header部分通过...上图是我们优化结点前后ONNX模型结构复杂度对比,优化前ONNX模型结点复杂,杂乱无章,优化后ONNX去掉了一些无用结点,结构变简洁,清晰,其导出TensorRT Engine成功率也更高。...需要说明是上述ONNX优化方法是通用,可以作为ONNX导出TensorRT Engine一些准则,经大量实验证明这会增加ONNX成功导出TensorRT Engine概率。

    57810

    Kubernetes 预测性集群伸缩

    当然,这也意味着我们面临用户用量波动会很大,这就是为什么我们需要这样一个组件来做支撑,而不是一种静态技术。...比如创建 Pod 时,它所需要 GPU 和内存会被作为它能不能跑到 Node 上判断依据。 第二部分是 Priority。...但它也有缺点,就是它是一个 Python 库,只能以 Python Service 方式部署。...算法也可以交由数据部门优化,后端无感。 它缺点是如果要构成一个独立服务的话,可能是 PB 或者是 ONNX,因为它要用 tf 或 torch 去训练。...其实这应该不算缺点,这是标准,它可以通过 tf-serving 部署。所以如果我们把接口统一成 PB 的话,那预测模型就不需要修改,我们只要统一 Model 接口。

    88520

    深度学习这些概念都弄清楚了么?TF、TLT、TRT、DS....

    很多应用可以利用云端强大性能,但有些应用就不能,比如一些应用程序需要低延迟,如机器人或自动汽车,响应时间和可靠性是至关重要。...NVIDIA专门构建预训练模型具有高质量生产质量,可用于各种用例,例如人数统计,车辆检测,交通优化,停车管理,仓库运营等。 ? TRT-TensorRT 一旦网络完成,就可以直接部署模型。...然而,如果模型使用tensorRT进行优化,那么通常会有显着性能优势。TensorRT是由nvidia提供,是一种优化神经网络推理加速器。 ?...记住:与tensorflow和其他框架不同,tensorRT不用于训练深度学习模型,而是在你完成训练时 使用tensorRT优化模型以进行部署,转换过程重新构建模型以利用高度优化GPU操作,从而降低延迟并提高吞吐量...SDK可以轻松部署生成TLT优化模型,开发一个跟视频处理相关智能应用。

    96221

    TensorRT

    作为Inference(推理)端SDK工具,TensorRT是可编程处理加速器,主要是用来部署神经网络到Inference端之前,对于网络进行优化加速,来提高程序吞吐量以及降低延迟。...关于其他一些优化方法,大家可以再参考TensorRT 用户手册进行详细了解。 TensorRT部署流程可以分成两部分。...在TensorRT 启动之后,会根据我们刚才所说几大优化方式依次对网络模型进行优化,对于规模不大网络,这个过程可能需要耗费几分钟时间。在执行完成之后,它会输出一个优化策略,如上图所示Plan。...接下来我们就可以拿着这个优化策略文件连通TensorRT 引擎,一起部署到线上服务端。...Inference,无法使用Tensor Core进行加速,实际上TensorRT 目前对RNN网络只能支持FP32精度,还不能支持到FP16。

    2.4K110

    NVIDIA教你用TensorRT加速深度学习推理计算 | 量子位线下沙龙笔记

    加速推理原理 TensorRT加速推理原理是什么呢?TensorRT基本上支持现在所有的主流框架训练出来模型,把模型输入进来,然后TensorRT帮助做解析,做网络层之间优化。...我们框架是这样处理,因为框架是需要所有的硬件平台都能够实现这功能,而TensorRT是针对GPU进行优化,它是专门针对于前端推理优化。...然后再往下,Concat也不用了,因为TensorRT会自动帮你把它拼接好。 那么接下来怎样继续优化?到现在还能怎么去优化?之前提到过多流执行概念。...于是就又把横向时间减少了。 这就是TensorRT在这两个方向上优化底层原理。 TensorRT现在能支持网络层有很多,基本上所有的网络模型都是支持。...刚才介绍了TensorRT是一个加速工具,用TensorRT并不是把它放在一个课题实验里,核心目的是把TensorRT部署到产品上。

    1.4K40

    在NVIDIA Jetson平台上部署深度学习模型需要知道6个技巧

    第三,对于批量大小、图像分辨率、模型大小或同时输入数量等部署参数没有严格规定。Jetson 限制使得很难为生产和部署参数找到合适调优,从而优化计算能力和内存空间。...技巧2:为 Jetson 优化模型运行时 第二个技巧是确保你优化模型以适应jetson运行时,它可以通过很多技术来完成,比如使用Graph Comiler,比如TensorRT ,它可以在jetson...TensorRT 图形编译器,所以在优化之后我将有一个不同网络来执行相同任务,但它使用 TensorRT 进行了修改以适应 jetson 需求在模型本身并发方面的并行性。...让我们看看优化后有什么区别,我们可以看到使用TensorRT后,吞吐量从每秒 18 帧到每秒 47 帧,延迟从 54毫秒到 21 毫秒,所以我们看到模型在优化之前和之后行为不同,它对性能有很大影响。...注意,Jetson行为不同来自云机器,所以我最想让你记住一件事是你不能基于云机器基准来确定它在 Jetson 设备上行为,它根本不能这样工作, 所以最好使用 jtop 来实时了解管道行为方式以及应用程序内部发生情况

    2.8K31

    NANO黑客松比赛遇到最多技术问题是什么?

    以下是从活动微信群,webex会议等渠道收集概括学生提出问题。主要帮助学生解决了环境部署,API调用,代码调优等方面产生问题。 ? 1 TensorRT哪里能找到比较好教程?最好是中文?...TensorRT大部分内容可以向下支持,不过会在一些部分做优化,导致有些功能在使用最新方法后会有更好性能提升 5 TensorRT支持Pytorch吗?...可以支持,您可了解一下TensorRT优化ONNX格式模型。您在SDKsample里面找到。 6 TLT怎么安装?...TLT导出模型经过tlt-converter工具转换后,可以直接利用TensorRT来执行推理任务。不过您需要在您部署设备上利用tlt-converter转换。...TLT导出FP16模型可以直接部署在NANO上,但是INT8模型不能部署在NANO上。您可以是用Xavier来部署 15 在利用TLT训练时候loss一直不下降怎么办?

    96220

    《PytorchConference2023 翻译系列》9,在PyTorch 2.X中使用TensorRT加速推理

    Torch TensorRT介绍 Torch TensorRT是一个优化PyTorch模型推理性能工具 它结合了PyTorch和NVIDIATensorRT 2....这意味着,如果你有一个单一模型,并且你用我们两种方法之一进行优化,你可以得到相似的性能和核心软件实现。现在你可能会问,为什么我要选择其中之一?因为不同部署场景需要不同方法。...如果您模型具有复杂逻辑,需要即时编译,并且可能需要Python严格部署,那么灵活JIT方法可能对您来说是最好选择。...如果您需要整个图形捕获,需要对模型进行一些序列化,或者进行C++部署,那么AOT方法可能更适合您用例。所以考虑到这一点,让我们走一遍这两个用户流程共享内部路径。...最后是转换阶段,对于在右侧看到每个TensorRT图形,他们从其ATEN操作转换为等效TensorRT layer,最后得到优化模型。

    38310
    领券