前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >美女小姐姐在Jetson Xavier NX上实现车道线检测

美女小姐姐在Jetson Xavier NX上实现车道线检测

作者头像
GPUS Lady
发布2021-02-05 11:36:12
1.6K0
发布2021-02-05 11:36:12
举报
文章被收录于专栏:GPUS开发者GPUS开发者
本教程来自一位美女小姐姐的blog——

具体教程:

https://esthermakes.tech/blog/2021/01/09/lanenet-on-nvidia-jetson/

介绍:

LaneNet是用于车道检测的实时深度神经网络模型。这个GitHub存储库提供了TensorFlow的非官方实现,该实现在PC上运行得很好。但是,我想让它在NVIDIA Jetson平台上运行,该平台是专为低功耗Edge AI开发的一系列产品。我首先瞄准了Xavier NX,它比入门级Nano拥有更多的计算能力和强大功能,因为这是一项非常艰巨的任务。

从TensorFlow到TensorRT

不幸的是,在Xavier NX上运行TensorFlow模型会导致内存和性能问题。NVIDIA提供了TensorRT来加速他们平台上的推理,因此下一个主要步骤是将TensorFlow模型移植到TensorRT。这个forked repo包含额外的文件,以及一个Dockerfile,该Dockerfile包含在Xavier NX上运行此操作所需的所有依赖项。

从TensorRT 7.0开始,首选方法是使用ONNX工作流,其中TensorFlow模型转换为ONNX格式,然后用于构建TensorRT引擎。还支持其他框架,例如PyTorch、Keras和Caffe。

冻结TensorFlow图

第一步需要冻结TensorFlow图。可在以下位置找到执行此操作的Python脚本tensorrt/freeze_graph.py。

运行它:

代码语言:javascript
复制
python tensorrt/freeze_graph.py --weights_path model/tusimple_lanenet/tusimple_lanenet.ckpt --save_path model/lanenet.pb

(左右滑动)

这将创建一个冻结的图形,称为model/lanenet.pb. 下一步是使用tf2onnx Python包将其转换为ONNX:

代码语言:javascript
复制
python -m tf2onnx.convert \
    --input ./model/lanenet.pb \
    --output ./model/lanenet.onnx \
    --inputs lanenet/input_tensor:0 \
    --outputs lanenet/final_binary_output:0,lanenet/final_pixel_embedding_output:0

这将获取.pb文件并将其转换为ONNX模型,并另存为model/lanenet.onnx

使用TensorRT运行推理

使用ONNX模型,我们现在可以进行推理!可以在找到Python脚本tensorrt/trt_inference.py

要将其与示例视频文件一起运行:

代码语言:javascript
复制
python tensorrt/trt_inference.py \
    --onnx_file ./model/lanenet.onnx \
    --video_src ./data/tusimple_test_video/0.mp4 \
    --engine_file ./tensorrt/pc.engine

如果将网络摄像头或摄像机连接到Xavier NX,它也可以与实时视频流一起运行。只需--video_src使用连接的视频源的适当名称更新标志。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从TensorFlow到TensorRT
    • 冻结TensorFlow图
      • 使用TensorRT运行推理
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档