训练了很久的Tf模型,终于要到生产环境中去考验一番了。今天花费了一些时间去研究tf的模型如何在生产环境中去使用。大概整理了这些方法。

继续使用分步骤保存了的ckpt文件

这个貌似脱离不了tensorflow框架,而且生成的ckpt文件比较大,发布到生产环境的时候,还得把python的算法文件一起搞上去,如何和其他程序交互,可能还得自己去写服务。估计很少有人这么做,貌似性能也很一般。

使用tensorflow Serving

tf Serving貌似是大家都比较推崇的方法。需要编译tfServing,然后把模型导出来。直接执行tf Serving的进程,就可以对外提供服务了。具体调用的时候,还得自己写客户端,使用人gRPC去调用Serving,然后再对外提供服务,听上去比较麻烦。而且我今天没太多的时间去研究gRPC,网络上关于客户端很多都是用python写的,我感觉自己的python水平比较菜,没信心能写好。所以这个方式就先没研究。

生产.pb文件,然后写程序去调用.pb文件

生成了.pb文件以后,就可以被程序去直接调用,传入参数,然后就可以传出来参数,而且生成的.pb文件非常的小。而我又有比较丰富的.net开发经验。在想,是否可以用C#来解析.pb文件,然后做一个.net core的对外服务的API,这样貌似更加高效,关键是自己熟悉这款的开发,不用花费太多的时间去摸索。、

具体的思路

使用.net下面的TensorFlow框架tensorflowSharp(貌似还是没脱离了框架).去调用pb文件,然后做成.net core web API 对外提供服务。

具体的实现

直接上代码,非常简单,本身设计到tensorflowsharp的地方非常的少

ImageUtil这个类库是tensorflowSharp官方的例子中一个把图片转成tensor的类库,我直接copy过来了,根据我的网络,修改了几个参数。

相关文章:

  • TensorFlowSharp入门使用C#编写TensorFlow人工智能应用

原文地址: https://www.cnblogs.com/bbird/p/9953749.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

使用C#把Tensorflow训练的.pb文件用在生产环境相关推荐

  1. java加载tensorflow训练的PB模型记录

    java加载tensorflow训练的PB模型记录 python训练 1. 模型的输入输出定义 2. 训练时保存模型的方法 java加载模型 1.maven依赖 2. Java代码实例 tensor注 ...

  2. 【tensorflow】生成.pb文件

    Saving, Freezing, Optimizing for inference, Restoring of tensorflow models 在训练完tensorflow模型后,会有三个文件: ...

  3. TensorFlow 工程实战(一):在TFhub中下载预训练的pb文件,并使用 TF-Hub 库微调模型评估人物年龄

    实例描述 有一组照片,每个文件夹的名称为具体的年龄,里面放的是该年纪的人物图片. 微调 TF-Hub 库,让模型学习这些样本,找到其中的规律,可以根据具体人物的图片来评估人物的年龄. 即便是通过人眼来 ...

  4. Tensorflow训练maskrcnn

    文章目录 Tensorflow训练maskrcnn 安装cuda cudnn Anaconda Anaconda环境配置 换源(清华源,清华源下载更快) 新建虚拟环境 进入虚拟环境 安装tensorf ...

  5. TF之TFOD-API:基于tensorflow框架利用TFOD-API脚本文件将YoloV3训练好的.ckpt模型文件转换为推理时采用的.pb文件

    TF之TFOD-API:基于tensorflow框架利用TFOD-API脚本文件将YoloV3训练好的.ckpt模型文件转换为推理时采用的frozen_inference_graph.pb文件 目录 ...

  6. VS2015+OpenCV3.4.5+QT5.12+WINDOWS10用c++调用tensorflow训练好的.pb文件图像检测

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_31806049/article/ ...

  7. tensorflow加载预训练好的模型图(.pb文件)

    千万不要试图在jupyter notebook中打开.pb模型文件,否则你会得到: 这时候我以为shi编码的问题,开始转换编码,转换完成后发现shi乱ma. 后来网上查了,.pb文件里面存储的shi模 ...

  8. TensorFlow:将ckpt文件固化成pb文件

    TensorFlow:将ckpt文件固化成pb文件 本文是将yolo3目标检测框架训练出来的ckpt文件固化成pb文件,主要利用了GitHub上的该项目. 为什么要最终生成pb文件呢?简单来说就是直接 ...

  9. tensorflow保存数据为.pb格式和加载.pb文件(转)

    最近接触了tensorflow的object detection API发现里面读取的预先训练模型都是pb格式. 谷歌推荐的保存模型的方式是保存模型为 PB 文件,它具有语言独立性,可独立运行,封闭的 ...

最新文章

  1. 网络名词--“环路”
  2. php如何批量导入题库,批量文本导入试题
  3. css 引用otf文件,CSS-如何将OTF / TTF文件转换为EOT格式?
  4. Use Batch Apex
  5. “举报”阿里巴巴 Arthas,大幅降低 OOM Trouble shooting 门槛
  6. android aidl调用进程间服务的方法
  7. 单片机编程php,STC单片机内部FLASH读写程序(最新整理)
  8. HDU 6607 Easy Math Problem(杜教筛 + min_25 + 拉格朗日插值)
  9. android之微信分享图片
  10. 性价比还是小米狠:两场下来友商完败?
  11. 贪吃蛇游戏java代码_Java实现贪吃蛇游戏
  12. 计算机操作系统--UNIX操作系统
  13. 把图片url 伪静态 php,thinkphp5系列之URL伪静态(生成优雅的URL)
  14. PATHLOSS.4.0 无线电设计软件
  15. 章文嵩:开源为我打开一扇窗
  16. sort排序不区分大小写C语言,使用sort进行不区分大小写的排序(list,key = str.lower)...
  17. Lambda与Stream流
  18. 计算机系统基础 第一章计算机系统概述
  19. 【Ubuntu系列】Ubuntu20.04系统下3060显卡驱动安装记录
  20. 周易哲学(一):干支纪年法和四柱八字

热门文章

  1. php rewrite url_PHP实现url重写和.htaccess
  2. 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...
  3. PHP单例模式(精讲)
  4. jmeter(2)录制脚本
  5. zabbix snmp自定义OID nginx监控实例(55)
  6. hdu 4597 + uva 10891(一类区间dp)
  7. ASP.NET Core 跨平台图形验证码实现
  8. C# WPF MVVM模式Prism框架从零搭建(经典)
  9. SqlBulkCopy只支持SQL Server? EF Core实现支持多数据库类型的Bulk Copy
  10. Binding(二):控件关联和代码提升