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 单链表是一种简单的动态数据结构,它由一系列结点组成,每个结…...
Asp.net MVC在VSCore中的页面的增删改查(以Blog项目为例),用命令代码
在VSCore中的页面的增删改查(以Blog项目为例) 1.创建项目(无解决方案)复杂项目才需要 dotnet new mvc -o Blog2.控制器 BlogsController.cs 控制器(Controller)名字和视图(View)中的文件名要一模一样 u…...
【Leecode】Leecode刷题之路第66天之加一
题目出处 66-加一-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 66-加一-官方解法 方法1:找出最长的后缀9 思路: 代码示例:(Java&#…...
使用 VLC 在本地搭建流媒体服务器 (详细版)
提示:详细流程 避坑指南 Hi~!欢迎来到碧波空间,平时喜欢用博客记录学习的点滴,欢迎大家前来指正,欢迎欢迎~~ ✨✨ 主页:碧波 📚 📚 专栏:音视频 目录 借助VLC media pl…...
Ubuntu 常用解压与压缩命令
.zip文件 unzip FileName.zip # 解压 zip DirName.zip DirName # 将DirName本身压缩 zip -r DirName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一起压缩 zip DirName.zip DirName 行为: 只压缩 DirName 目录本身ÿ…...
【深度学习】四大图像分类网络之AlexNet
AlexNet是由Alex Krizhevsky、Ilya Sutskever(均为Hinton的学生)和Geoffrey Hinton(被誉为”人工智能教父“,首先将反向传播用于多层神经网络)在2012年ImageNet图像分类竞赛中提出的一种经典的卷积神经网络。AlexNet在…...
Day1——GitHub项目共同开发
MarkDowm解释 Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML代码。Markdown的目的是让文档的编写和阅读变得更加容易,同时也不失HTML的强大功能。以下是Markdown的一些基本概念和用法&a…...
基于PHP的香水销售系统的设计与实现
摘 要 时代科技高速发展的背后,也带动了经济的增加,人们对生活质量的要求也不断提高。香水作为一款在人际交往过程中,给对方留下良好地第一印象的产品,在生活中也可以独自享受其为生活带来的点缀。目前香水市场体量庞大ÿ…...
A-star算法
算法简介 A*(A-star)算法是一种用于图形搜索和路径规划的启发式搜索算法,它结合了最佳优先搜索(Best-First Search)和Dijkstra算法的思想,能够有效地寻找从起点到目标点的最短路径。A*算法广泛应用于导航、…...
前端用原生js下载File对象文件,多用于上传附件时,提交之前进行点击预览,或打开本地已经选择待上传的附件列表
用于如上图场景,已经点击选择了将要上传的文件,在附件列表里面用户希望点击下载文件,以核实自己是否选中了需要上传的文件,此刻就需要 用到下面的方法: // 下载File对象文件 downloadByFileObject(file, { fileName }…...
服务器记录所有用户docker操作,监控删除容器/镜像的人
文章目录 使用场景安装auditd添加docker审计规则设置监控日志大小与定期清除查询 Docker 操作日志查看所有用户,所有操作日志查看特定用户的 Docker 操作查看所有用户删除容器/镜像日志过滤特定时间范围内日志 使用场景 多人使用的服务器,使用的docker …...
哪些做图形推理的网站/有什么好的网站吗
请以尽量高效的方法用”*”打印出一个空心正方形,num为边长。 void print_square(int num); #include <stdio.h>int main() {int x,y,num;printf("please input the num:\n");scanf("%d",&num);for(x 0; x < num; x){for(y 0 ;…...
如何制作学校网站/宁德市疫情最新消息
Suse获取磁盘利用率最大值 需求:A公司运维人员想监控suse操作系统中多个磁盘利用率的一个最大值并通过zabbix展示出来 方法:使用iostat工具加agent内置键获取多个磁盘利用率的最大值 实验步骤: 第一步:agent.conf中定义一个自定义键值 只所以使用这个键值,是为了后…...
长沙企业网站建设品牌/百度竞价推广点击软件奔奔
demo 下载地址:http://download.csdn.net/detail/robinson_911/8349659 昨天花了点时间重新学习了下UITableView 和自定义导航栏,写了个demo以备后面查看。 先说昨天遇到的问题, 1.demo写完后,发现表格老是有重叠页面ÿ…...
网站官网建设注意/网络营销策划师
MySQL在mac系统安装如下一.下载https://downloads.mysql.com/archives/community/如果下载速度过慢 可以使用百度云mysql-5.7.28-macos10.14-x86_64.dmg链接: https://pan.baidu.com/s/1CC8sqEe3oC8Shv3EwTYSMQ 密码: 1sjj二.安装下载dmg版本 根据步骤如下安装在进行下一步 下一…...
wordpress图片尺寸00/网站seo排名优化软件
所谓函数式接口,指的是只有一个抽象方法的接口。 函数式接口可以被隐式转换为Lambda表达式。 函数式接口可以用FunctionalInterface注解标识。 JDK1.8之前就出现了一些符合函数式接口定义的接口: java.lang.Runnablejava.util.concurrent.Callablejava…...
外贸网站模/seo综合查询软件排名
快速排序算法的核心思想是分制思想,从小到大排列顺序,找到一个数组中的分割值,把比分割值小的数值放在 数组的左边,比分割值大的数值放在数组的右边,这样分割值的位置就被确定了,数组一分为二,我…...