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 单链表是一种简单的动态数据结构,它由一系列结点组成,每个结…...
探索ImageGlass:一个轻量级图像浏览器的多格式支持解决方案
探索ImageGlass:一个轻量级图像浏览器的多格式支持解决方案 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 当你面对数十种不同格式的图像文件时,是…...
DAMOYOLO-S实战教程:对接企业OA系统实现图片自动审核与标注
DAMOYOLO-S实战教程:对接企业OA系统实现图片自动审核与标注 1. 引言:从手动审核到智能自动化的跨越 想象一下这个场景:你是一家电商公司的运营,每天有上千张商品图片需要上传到后台。按照公司规定,每张图片都需要人工…...
开发者跨界金融科技:机遇与技能图谱
一、金融科技浪潮下的测试新机遇1.1 行业爆发式增长催生人才缺口全球金融数智化进程加速,银行业持续加码科技投入。据公开数据显示,2024年仅国有六大行金融科技投入超1250亿元,同比增长约2%。业务快速迭代与用户体验升级需求,推动…...
从臃肿到轻盈:Win11Debloat如何让你的Windows系统重获新生
从臃肿到轻盈:Win11Debloat如何让你的Windows系统重获新生 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化…...
5分钟掌握MPC Video Renderer:解锁专业级HDR视频渲染的完整解决方案
5分钟掌握MPC Video Renderer:解锁专业级HDR视频渲染的完整解决方案 【免费下载链接】VideoRenderer RTX HDR modded into MPC-VideoRenderer. 项目地址: https://gitcode.com/gh_mirrors/vid/VideoRenderer MPC Video Renderer是一款功能强大的开源DirectSh…...
从权重计分到算杀引擎:五子棋AI核心算法实战解析
1. 五子棋AI的算法演进:从基础评分到算杀引擎 五子棋作为一款经典策略游戏,其AI算法的核心在于如何评估棋盘局势并做出最优决策。早期AI主要依赖简单的评分机制,比如给不同的棋形(活二、活三、冲四等)赋予固定分值&…...
压缩强度试验机选的显示屏:在质量、价格、交期、服务上的适配优势
作为压缩强度试验机厂商的销售,我们在整机研发与生产中,显示屏是核心交互部件,直接影响设备的测试精度、操作体验与市场竞争力。结合多年行业经验与实际采购数据,恒域威显示屏在质量、价格、交期、服务四大核心维度,与…...
ICP配准遇到点云尺度不一致?3步搞定相似变换矩阵(附OpenCV代码)
ICP配准中处理点云尺度不一致的实战指南 在三维视觉开发领域,点云配准是SLAM、三维重建等应用中的基础操作。但当我们面对来自不同传感器或采集条件的点云数据时,经常会遇到一个棘手问题——两组点云的尺度不一致。这就像试图用厘米尺和英寸尺测量同一物…...
别再重装OriginPro了!遇到盗版弹窗,试试这个修改Hosts文件的永久方案
彻底解决OriginPro授权验证问题的技术指南 引言:为何传统方法无法根治授权问题 许多科研工作者和数据分析师都曾遇到过这样的困扰:明明已经安装了正版OriginPro软件,却频繁遭遇"盗版提示"弹窗。更令人沮丧的是,重装系统…...
Skills 如何高效地扩展 Claude 的能力
在模块化配置体系中,rules(规则)决定了 Claude 的下限(不能搞砸什么),而 skills(技能)则决定了 Claude 的上限(能多快、多准地完成复杂任务)。高效扩展 Claud…...
