Linux 35.6 + JetPack v5.1.4@DeepStream安装
Linux 35.6 + JetPack v5.1.4@DeepStream安装
- 1. 源由
- 2. 步骤
- Step 1 安装Jetpack 5.1.4 L4T 35.6
- Step 2 安装依赖组件
- Step 3 安装librdkafka
- Step 4 安装 DeepStream SDK
- Step 5 测试 deepstream-app
- Step 6 运行 deepstream-app
- 3. 总结
- 3.1 版本问题
- 3.2 二进制help
- 4. 参考资料
1. 源由
为了确保在Jetson Orin平台上继续我们追求的 FPV Geek SDK 推进;奠定一些基础技术的经验和基础;
- Ardupilot开源无人机之Geek SDK讨论
- Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
- ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路
目前,在Jetson Orin 8GB的板子上 jetson-fpv 性能不佳的情况,着实令人着急,呵呵!
2. 步骤
Step 1 安装Jetpack 5.1.4 L4T 35.6
参考:《Linux 36.3@Jetson Orin Nano之系统安装》
Step 2 安装依赖组件
$ sudo apt install \
libssl1.1 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstreamer-plugins-base1.0-dev \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev
Step 3 安装librdkafka
- Clone the librdkafka repository from GitHub:
$ git clone https://github.com/edenhill/librdkafka.git
或者
git clone git@github.com:confluentinc/librdkafka.git
- Configure and build the library:
$ cd librdkafka
$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
$ ./configure
$ make
$ sudo make install
- Copy the generated libraries to the deepstream directory:
$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.3/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.3/lib
$ ls /opt/nvidia/deepstream/deepstream-6.3/lib
librdkafka++.a librdkafka.a librdkafka++.so librdkafka.so librdkafka++.so.1 librdkafka.so.1
Step 4 安装 DeepStream SDK
- Download DS SDK
$ wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/deepstream/6.3/files?redirect=true&path=deepstream_sdk_v6.3.0_jetson.tbz2' -O deepstream_sdk_v6.3.0_jetson.tbz2
或者,通过网页下载:DeepStream SDK
- Install DS SDK
$ sudo tar -xvf deepstream_sdk_v6.3.0_jetson.tbz2 -C /
$ cd /opt/nvidia/deepstream/deepstream-6.3
$ sudo ./install.sh
$ sudo ldconfig
Step 5 测试 deepstream-app
$ ldd /usr/bin/deepstream-applinux-vdso.so.1 (0x0000ffff9420b000)libgstreamer-1.0.so.0 => /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0 (0x0000ffff93f2f000)libgstvideo-1.0.so.0 => /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0 (0x0000ffff93e7a000)libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffff93d3f000)libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000ffff93ccd000)libgstrtspserver-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtspserver-1.0.so.0 (0x0000ffff93c5a000)libjson-glib-1.0.so.0 => /lib/aarch64-linux-gnu/libjson-glib-1.0.so.0 (0x0000ffff93c21000)libyaml-cpp.so.0.6 => /lib/aarch64-linux-gnu/libyaml-cpp.so.0.6 (0x0000ffff93bc1000)libnvdsgst_meta.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_meta.so (0x0000ffff93bab000)libnvdsgst_smartrecord.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_smartrecord.so (0x0000ffff93b94000)libnvdsgst_helper.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_helper.so (0x0000ffff93b7c000)libnvdsgst_customhelper.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvdsgst_customhelper.so (0x0000ffff93b63000)libnvds_meta.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_meta.so (0x0000ffff93b4c000)libnvds_utils.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_utils.so (0x0000ffff93542000)libnvds_msgbroker.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_msgbroker.so (0x0000ffff93528000)libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffff933e3000)libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff933cf000)libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff931ea000)libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff931b9000)librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff931a1000)libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff930f6000)libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff92f83000)/lib/ld-linux-aarch64.so.1 (0x0000ffff941db000)libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff92f5f000)libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000ffff92f4b000)libgstbase-1.0.so.0 => /lib/aarch64-linux-gnu/libgstbase-1.0.so.0 (0x0000ffff92ec6000)liborc-0.4.so.0 => /lib/aarch64-linux-gnu/liborc-0.4.so.0 (0x0000ffff92e37000)libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffff92dc5000)libffi.so.7 => /lib/aarch64-linux-gnu/libffi.so.7 (0x0000ffff92dac000)libgstnet-1.0.so.0 => /lib/aarch64-linux-gnu/libgstnet-1.0.so.0 (0x0000ffff92d85000)libgstrtp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtp-1.0.so.0 (0x0000ffff92d4f000)libgstrtsp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtsp-1.0.so.0 (0x0000ffff92d1a000)libgstsdp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstsdp-1.0.so.0 (0x0000ffff92cf1000)libgstapp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstapp-1.0.so.0 (0x0000ffff92cd1000)libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000ffff92ad4000)libgstpbutils-1.0.so.0 => /lib/aarch64-linux-gnu/libgstpbutils-1.0.so.0 (0x0000ffff92a86000)libnvinfer.so.8 => /lib/aarch64-linux-gnu/libnvinfer.so.8 (0x0000ffff8592d000)libnvds_logger.so => /opt/nvidia/deepstream/deepstream-6.3/lib/libnvds_logger.so (0x0000ffff8591b000)libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff858e4000)libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff858b8000)libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000ffff8584a000)libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000ffff85812000)libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff857ec000)libgstaudio-1.0.so.0 => /lib/aarch64-linux-gnu/libgstaudio-1.0.so.0 (0x0000ffff85768000)libgsttag-1.0.so.0 => /lib/aarch64-linux-gnu/libgsttag-1.0.so.0 (0x0000ffff8571b000)libnvdla_compiler.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_compiler.so (0x0000ffff84fe0000)libcudla.so.1 => /usr/local/cuda/targets/aarch64-linux/lib/libcudla.so.1 (0x0000ffff84fa3000)libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff84f8f000)libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff84f79000)libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000ffff84f13000)libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000ffff84e83000)libnvos.so => /usr/lib/aarch64-linux-gnu/tegra/libnvos.so (0x0000ffff84e63000)libnvdla_runtime.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_runtime.so (0x0000ffff8480b000)libcuda.so.1 => /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 (0x0000ffff831b4000)libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff8318d000)libnvrm_host1x.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_host1x.so (0x0000ffff8316a000)libnvrm_mem.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_mem.so (0x0000ffff83152000)libnvsocsys.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsocsys.so (0x0000ffff8313e000)libnvrm_gpu.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so (0x0000ffff830d1000)libnvrm_sync.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_sync.so (0x0000ffff830ba000)libnvrm_chip.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_chip.so (0x0000ffff830a4000)libnvsciipc.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so (0x0000ffff8307f000)
Step 6 运行 deepstream-app
$ cd /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/
$ deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.yml
3. 总结
NVIDIA提供的硬件及其相关库,原厂维护,不开源。应用相关示例代码开源或者提供源代码。
因此,在安装这些性能加速软件时,尤其要注意其版本的对应关系。
若需要进行大型开发,必须关注原厂开发动态以及版本支持情况。进而,公司软件在规划时需要充分考虑进度、里程碑等相应适配。
- Which DS version for Jetson Orin Nano/Jetpack 5.1.4/L4T 35.6.0?
3.1 版本问题
- Download DS SDK 6.4.0
$ wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/deepstream/6.4/files?redirect=true&path=deepstream_sdk_v6.4.0_jetson.tbz2' -O deepstream_sdk_v6.4.0_jetson.tbz2
或者,通过网页下载:DeepStream SDK
- Install DS SDK 6.4.0
$ sudo tar -xvf deepstream_sdk_v6.4.0_jetson.tbz2 -C /
$ cd /opt/nvidia/deepstream/deepstream-6.4
$ sudo ./install.sh
$ sudo ldconfig
- ldd deepstream-app
出现so文件不存在等问题,基本都是链接环节出现的,也就是二进制在编译链接的路径或者库版本不一致的问题。
daniel@daniel-nvidia:~/Work$ ldd /usr/bin/deepstream-app
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/bin/deepstream-app)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /usr/bin/deepstream-app)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/bin/deepstream-app)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_utils.so)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_msgbroker.so)
/usr/bin/deepstream-app: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_msgbroker.so)linux-vdso.so.1 (0x0000ffffa8400000)libgstreamer-1.0.so.0 => /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0 (0x0000ffffa80f1000)libgstvideo-1.0.so.0 => /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0 (0x0000ffffa803c000)libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000ffffa7f01000)libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000ffffa7e8f000)libgstrtspserver-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtspserver-1.0.so.0 (0x0000ffffa7e1c000)libjson-glib-1.0.so.0 => /lib/aarch64-linux-gnu/libjson-glib-1.0.so.0 (0x0000ffffa7de3000)libyaml-cpp.so.0.7 => not foundlibnvdsgst_meta.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_meta.so (0x0000ffffa7dcd000)libnvdsgst_smartrecord.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_smartrecord.so (0x0000ffffa7db6000)libnvdsgst_helper.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_helper.so (0x0000ffffa7d9d000)libnvdsgst_customhelper.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvdsgst_customhelper.so (0x0000ffffa7d83000)libnvds_meta.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_meta.so (0x0000ffffa7d6b000)libnvds_utils.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_utils.so (0x0000ffffa749a000)libnvds_msgbroker.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_msgbroker.so (0x0000ffffa747f000)libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000ffffa733a000)libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffa7155000)libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffa70aa000)libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa6f37000)/lib/ld-linux-aarch64.so.1 (0x0000ffffa83d0000)libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffa6f13000)libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000ffffa6eff000)libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa6eeb000)libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffa6eba000)libgstbase-1.0.so.0 => /lib/aarch64-linux-gnu/libgstbase-1.0.so.0 (0x0000ffffa6e35000)liborc-0.4.so.0 => /lib/aarch64-linux-gnu/liborc-0.4.so.0 (0x0000ffffa6da6000)libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000ffffa6d34000)libffi.so.7 => /lib/aarch64-linux-gnu/libffi.so.7 (0x0000ffffa6d1b000)libgstnet-1.0.so.0 => /lib/aarch64-linux-gnu/libgstnet-1.0.so.0 (0x0000ffffa6cf4000)libgstrtp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtp-1.0.so.0 (0x0000ffffa6cbe000)libgstrtsp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstrtsp-1.0.so.0 (0x0000ffffa6c89000)libgstsdp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstsdp-1.0.so.0 (0x0000ffffa6c60000)libgstapp-1.0.so.0 => /lib/aarch64-linux-gnu/libgstapp-1.0.so.0 (0x0000ffffa6c40000)libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000ffffa6a43000)libgstpbutils-1.0.so.0 => /lib/aarch64-linux-gnu/libgstpbutils-1.0.so.0 (0x0000ffffa69f7000)libnvinfer.so.8 => /lib/aarch64-linux-gnu/libnvinfer.so.8 (0x0000ffff9989c000)libnvds_logger.so => /opt/nvidia/deepstream/deepstream-6.4/lib/libnvds_logger.so (0x0000ffff9988a000)libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000ffff99853000)libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x0000ffff99829000)libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000ffff997b9000)libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000ffff99781000)libresolv.so.2 => /lib/aarch64-linux-gnu/libresolv.so.2 (0x0000ffff9975b000)libgstaudio-1.0.so.0 => /lib/aarch64-linux-gnu/libgstaudio-1.0.so.0 (0x0000ffff996d7000)libgsttag-1.0.so.0 => /lib/aarch64-linux-gnu/libgsttag-1.0.so.0 (0x0000ffff9968c000)librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000ffff99672000)libnvdla_compiler.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_compiler.so (0x0000ffff98f37000)libcudla.so.1 => /usr/local/cuda/targets/aarch64-linux/lib/libcudla.so.1 (0x0000ffff98efa000)libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000ffff98ee6000)libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000ffff98ed0000)libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000ffff98e68000)libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000ffff98dda000)libnvos.so => /usr/lib/aarch64-linux-gnu/tegra/libnvos.so (0x0000ffff98dba000)libnvdla_runtime.so => /usr/lib/aarch64-linux-gnu/tegra/libnvdla_runtime.so (0x0000ffff98762000)libcuda.so.1 => /usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 (0x0000ffff9710b000)libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000ffff970e2000)libnvrm_host1x.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_host1x.so (0x0000ffff970c1000)libnvrm_mem.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_mem.so (0x0000ffff970a9000)libnvsocsys.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsocsys.so (0x0000ffff97095000)libnvrm_gpu.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so (0x0000ffff97028000)libnvrm_sync.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_sync.so (0x0000ffff9700f000)libnvrm_chip.so => /usr/lib/aarch64-linux-gnu/tegra/libnvrm_chip.so (0x0000ffff96ffb000)libnvsciipc.so => /usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so (0x0000ffff96fd6000)
检查本地依赖库的当前情况:glibc版本不对,
- GLIBC_2.34 or GLIBC_2.32 //存在,版本不对
- GLIBCXX_3.4.29 //存在,版本不对
- libyaml-cpp.so //存在,版本不对
$ whereis libyaml-cpp
libyaml-cpp: /usr/lib/aarch64-linux-gnu/libyaml-cpp.so /usr/lib/aarch64-linux-gnu/libyaml-cpp.a$ whereis libc.so
libc: /usr/lib/aarch64-linux-gnu/libc.a /usr/lib/aarch64-linux-gnu/libc.so$ strings /lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH
3.2 二进制help
本能的认为“-i 输入文件”;“-c 配置文件”。实际存在两个问题:
- 示例代码
deepstream-app
代码hardcoded
一个txt文件 - 这个txt文件若存在,会导入这个配置文件里面的视频文件
$ deepstream-app --help
Usage:deepstream-app [OPTION?] Nvidia DeepStream DemoHelp Options:-h, --help Show help options--help-all Show all help options--help-gst Show GStreamer OptionsApplication Options:-v, --version Print DeepStreamSDK version-t, --tiledtext Display Bounding box labels in tiled mode--version-all Print DeepStreamSDK and dependencies version-c, --cfg-file Set the config file-i, --input-uri Set the input uri (file://stream or rtsp://stream)
4. 参考资料
【1】DeepStream SDK
【2】DeepStream 6.3 Quick Start
相关文章:
Linux 35.6 + JetPack v5.1.4@DeepStream安装
Linux 35.6 JetPack v5.1.4DeepStream安装 1. 源由2. 步骤Step 1 安装Jetpack 5.1.4 L4T 35.6Step 2 安装依赖组件Step 3 安装librdkafkaStep 4 安装 DeepStream SDKStep 5 测试 deepstream-appStep 6 运行 deepstream-app 3. 总结3.1 版本问题3.2 二进制help 4. 参考资料 1. …...

图数据库 | 11、图数据库架构设计——高性能图存储架构(下)
在上篇内容中,老夫着重讲了高性能图存储系统的特点,咱们继续往下讲重点——高性能存储架构的设计思路!! 2.高性能存储架构设计思路 首先呢,存储架构以及核心数据结构的设计思路通常围绕如下4个维度来进行:…...

【HTTP】HTTP协议
一个Web Server就是个服务器软件(程序),或者是运行这个服务器软件的硬件(计算机),其主要功能是通过HTTP协议与客户端进行通信,来接收,存储,处理来自客户端的HTTP请求&…...

大数据新视界 -- Hive 基于 MapReduce 的执行原理(上)(23 / 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

SpringBoot源码解析(六):打印Banner
SpringBoot源码系列文章 SpringBoot源码解析(一):SpringApplication构造方法 SpringBoot源码解析(二):引导上下文DefaultBootstrapContext SpringBoot源码解析(三):启动开始阶段 SpringBoot源码解析(四):解析应用参数args Sp…...

【计算机网络】实验6:IPV4地址的构造超网及IP数据报
实验 6:IPV4地址的构造超网及IP数据报 一、 实验目的 加深对IPV4地址的构造超网(无分类编制)的了解。 加深对IP数据包的发送和转发流程的了解。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、了解IPV4地址的构造超网…...
easy excel 生成excel 文件
导包 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.3</version> </dependency> 内容 List<类> limspjreport 值; String fileName sdf.format(new Date()) "-…...

Ajax:回忆与节点
一点回忆 面对我的Ajax学习,实现前后端交互,最开始我采用的使用网络寻找intellij IDEA Ultimate破解方法,然后最终成功,然后按照相关教程配置java ee项目,然后中间又去配置了Tomcat服务器,然后又去学习了一…...
Python+OpenCV系列:Python和OpenCV的结合和发展
PythonOpenCV系列:Python和OpenCV的结合和发展 **引言****Python语言的发展****1.1 Python的诞生与发展****1.2 Python的核心特性与优势****1.3 Python的应用领域** **OpenCV的发展****2.1 OpenCV的起源与发展****2.2 OpenCV的功能特性****2.3 OpenCV的应用场景** *…...

Ubuntu20.04 由源码编译安装opencv3.2 OpenCV
Ubuntu20.04 由源码编译安装opencv3.2.0 获取 opencv 及opencv_contrib源代码 创建目录以存放opencv及opencv_contrib源代码 mkdir ~/opencv3.2.0 cd ~/opencv3.2.0获取opencv源代码并切换到对应tag git clone https://github.com/opencv/opencv.git cd opencv git checkou…...

A058-基于Spring Boot的餐饮管理系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...

RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式
1、介绍 在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。…...

Linux——命名管道及日志
linux——进程间通信及管道的应用场景-CSDN博客 文章目录 目录 文章目录 前言 一、命名管道是什么? 理解: 2、编写代码 makefile 管道封装成类,想用中管道时只需要调用实例化 读端 写端 日志 1、日志是什么? 2、日志有什么&#x…...
Flink 常见面试题
1、Flink 的四大特征(基石) checkpoin基于Chandy-Lamport算法实现了分布式一致性快照提供了一致性的语义 state丰富的StateAPI time实现了Watermark机制,乱序数据处理,迟到数据容忍 window开箱即用的滚动,滑动会话窗口…...

rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable
解决方法: 1、先测量pcf8563电源电压,是否满足要求。 2、pcf8563首次操作。第一次读取pcf8563的时间,未初始化,非法,芯片门槛电压检测配置不合理。使用hwclock命令写入一次,即可解决。 hwclock -f /dev/…...

(简单5步实现)部署本地AI大语言模型聊天系统:Chatbox AI + grok2.0大模型
摘要: 本文将指导您如何部署一个本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和grok-beta大模型,以实现高效、智能的聊天体验。 引言: 由马斯克X-AI发布的Grok 2大模型以其卓越的性能超越了GPT4.0。Grok模型支持超长文本…...

MAUI APP开发蓝牙协议的经验分享:与跳绳设备对接
在开发MAUI应用程序时,蓝牙协议的应用是一个重要的环节,尤其是在需要与外部设备如智能跳绳进行数据交换的场景中。以下是我在开发过程中的一些经验和心得,希望能为你的项目提供帮助。 1. 蓝牙协议基础 蓝牙协议是无线通信的一种标准&#x…...

最新版Node.js下载安装及环境配置教程
目录 初识:Node.js 一、下载:Node.js 二、安装:Node.js 1.下载【node.js】压缩包安装文件 2.解压下载的安装包 3.打开解压的【node-v22.11.0-x64】文件夹 4.双击启动安装程序 5.点击【Next】 6.勾选【I accept the terms in the Lic…...

51c自动驾驶~合集39
我自己的原文哦~ https://blog.51cto.com/whaosoft/12707676 #DiffusionDrive 大幅超越所有SOTA!地平线DiffusionDrive:生成式方案或将重塑端到端格局? 近年来,由于感知模型的性能持续进步,端到端自动驾驶受到了来…...
单链表基础操作
文章目录 abstract定义结点结构初始化链表遍历链表求表长查找结点根据序号查找结点根据值查找结点 插入结点首尾位置插入一般位置插入(通用插入)找到尾元素|尾指针相关操作 删除结点 abstract 单链表是一种简单的动态数据结构,它由一系列结点组成,每个结…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...