# gsd_ds gsd Jetson系列的算法层源码, 主要基于Deepstream进行构建 ## 1.目录结构 ```shell ├── 3rdparty # 第三方依赖 │ ├── CMakeLists.txt │ └── rapidjson ├── cmake ├── CMakeLists.txt ├── config │ └── labels.txt ├── data │ └── state │ └── fdState ├── docker # 镜像构建文件 │ └── Dockerfile.gsd_ds ├── framework │ └── CMakeLists.txt ├── lib ├── modules # 软件模块 ├── README.md ├── source │ ├── config │ │ ├── config_infer_primary_yoloV5.txt │ │ ├── config.ini │ │ ├── FP16 │ │ │ ├── yolov5m.engine │ │ │ └── yolov5s.engine │ │ ├── INT8 │ │ │ ├── yolov5m.engine │ │ │ └── yolov5s.engine │ │ └── labels.txt │ └── src │ └── main.cpp ├── start.sh ├── stop.sh └── tooks ``` ## 2.配置文件 **Deepstream配置文件** ```txt [property] gpu-id=0 net-scale-factor=0.0039215697906911373 #0=RGB, 1=BGR model-color-format=0 # custom-network-config=yolov3-tiny.cfg # model-file=yolov3-tiny.weights model-engine-file=../data/INT8/yolov5m.engine # 指定模型 labelfile-path=labels.txt process-mode=1 batch-size=12 ## 0=FP32, 1=INT8, 2=FP16 mode network-mode=1 num-detected-classes=80 gie-unique-id=1 network-type=0 #is-classifier=0 output-blob-names=prob ## 0=Group Rectangles, 1=DBSCAN, 2=NMS, 3= DBSCAN+NMS Hybrid, 4 = None(No clustering) cluster-mode=2 interval=0 maintain-aspect-ratio=1 parse-bbox-func-name=NvDsInferParseCustomYoloV5 custom-lib-path=../lib/libnvdsinfer_custom_impl_Yolo.so engine-create-func-name=NvDsInferYoloCudaEngineGet #scaling-filter=0 #scaling-compute-hw=0 [class-attrs-all] nms-iou-threshold=0.5 pre-cluster-threshold=0.4 ``` ## 3.参考资料 资料 | 作用 | 链接 ---|---|---| deepstream | 算法的部署框架, 建设于gstreamer, 自行学习 | https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html deepstream容器库 | deepstream容器库 |https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream-l4t/tags | ## 4.依赖的动态库问题 目前版本的动态库为**Jetson TX2-NX**的版本, 如果需要更换为**Jetson Xavire NX**, 则需在**Jetson Xavire NX**上重新编译, 包含自身的动态库和依赖的动态库, 包含算法模型的引擎文件也需要重新转换, 具体参考[tensorrtx](https://github.com/wang-xinyu/tensorrtx), 算法层容器需要重新构建, 构建文件为Dockerfile.gsd_ds. | 动态库 | 链接 | | --- | --- | | libmyplugins.so | https://github.com/wang-xinyu/tensorrtx | | libnvdsinfer_custom_impl_Yolo.so | https://github.com/DanaHan/Yolov5-in-Deepstream-5.0 |