xy514 2024-04-18 21:22 采纳率: 0%
浏览 4

Yolo部署到ros运行,有一个ts格式的文件是怎么转换得到的

img


最近在复现Yolo部署到ros到中,使用深度相机检测并定位目标物的中心位置,但是权重文件中有一个ts格式的文件,查阅了很多资料都没有找到如何转换得到ts文件,请教一下ts文件是如何转换得到的

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-18 21:22
    关注

    引自免费微信小程序:皆我百晓生

    TS (TensorFlow Serving) 格式的模型文件通常用于在TensorFlow Serving中部署模型,以便于服务化地提供模型预测功能。对于YOLO(You Only Look Once)模型来说,最常见的是先将其训练得到的权值文件(比如.pb、.h5或者.onnx等格式)转换为TF Serving支持的 SavedModel 格式,然后再导出为 .pb 文件,最后通过 TensorFlow Serving 的工具将.pb文件转换成 .ts 文件。

    首先,你需要确保已经安装了TensorFlow和相关的开发库。如果你还没有安装,可以使用以下命令安装(以Python 3为例):

    pip install tensorflow
    pip install tensorflow-model-server
    

    接下来,我们分步骤进行转换:

    1. 如果你的原始权重文件是 .onnx 格式,那么首先将其转换为 TensorFlow 的 .pb 格式。这可以通过 tf.saved_model.builder 或者 tf.lite.toco_convert 来完成。这里我们使用 tflite_convert 工具,因为它更通用一些:

      首先下载一个名为 tflite_convert.py 的脚本,可以从 这个GitHub仓库 下载。然后,在终端中执行以下命令:

      python tflite_convert.py --output_file=./model.pb --saved_model_dir=./your_saved_model_path --input_format=TENSORFLOW_GRAPHDEF
      

      ./your_saved_model_path 替换为你.onnx文件转换后的SavedModel目录路径。

    2. 现在你有了 .pb 文件,下一步是将其转换为 TensorFlow Serving 支持的 .pbtxt 文件。这可以通过 saved_model_cli 命令行工具来实现:

      saved_model_cli show --dir ./path_to_pb_file --tag_set serve --signature_def serving_default
      

      这个命令会输出.pbtxt 文件的内容,复制这些内容到一个新的名为 model.pbtxt 的文件中。

    3. 最后,使用 TensorFlow Serving 提供的工具 model_server_helper.pbtxt 转换成 .ts 文件。你需要从 这个GitHub仓库 中下载 model_server_helper.py。然后,在终端中执行:

      python model_server_helper.py --model_name=my_yolo_model --model_base_path=./path_to_pbtxt_file --version=1 --export_path=./path_to_ts_file
      

      my_yolo_model 替换为你想要的名字,./path_to_pbtxt_file 替换为 model.pbtxt 的路径,./path_to_ts_file 替换为你想要保存 .ts 文件的路径。

    经过以上步骤,你应该得到了 .ts 文件,这个文件可以在TensorFlow Serving中用来部署YOLO模型,并且能够在ROS环境下通过gRPC接口调用。在ROS中,你可以使用 rclpyrclpy_action 库来创建客户端,与TF Serving服务器通信以获取预测结果。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月18日

悬赏问题

  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 在启动roslaunch时出现如下问题