当前位置:网站首页>3.NVIDIA Deepstream开发指南中文版--Deepstream 环境配置
3.NVIDIA Deepstream开发指南中文版--Deepstream 环境配置
2022-08-02 15:52:00 【扫地的小何尚】
Deepstream 环境配置
NVIDIA DeepStream 软件开发套件 (SDK) 是一个加速 AI 框架,用于构建智能视频分析 (IVA) 管道。 DeepStream 可在 NVIDIA T4、NVIDIA Ampere 和 NVIDIA Jetson AGX Xavier、NVIDIA Jetson Xavier NX、NVIDIA Jetson AGX Orin 等平台上运行。
Jetson 平台配置
本节介绍如何在安装 DeepStream SDK 之前准备 Jetson 设备。
安装 Jetson SDK 组件
从 https://developer.nvidia.com/embedded/jetpack 下载 NVIDIA SDK Manager。 您将使用它来安装 JetPack 5.0.1 DP(对应于 L4T 34.1.1 版本)
NVIDIA SDK Manager 是一个图形应用程序,它刷新并安装 JetPack 包。
刷新过程大约需要 10-30 分钟,具体取决于主机系统。
注意
如果您使用的是 Jetson Xavier NX 开发者套件,您可以从 https://developer.nvidia.com/embedded/jetpack 下载 SD 卡镜像。 它与 CUDA、TensorRT 和 cuDNN 一起打包。
安装依赖库
输入以下命令以安装必备软件包:
$ 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 \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev
安装 librdkafka(为消息代理启用 Kafka 协议适配器)
- 从 GitHub 克隆 librdkafka 存储库:
$ git clone https://github.com/edenhill/librdkafka.git
- 配置和构建库:
$ cd librdkafka
$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
$ make
$ sudo make install
- 将生成的库复制到 deepstream 目录:
$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.1/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.1/lib
安装 DeepStream SDK
方法一: 使用SDK Manager
从Additional SDKs
部分中选择DeepStreamSDK
以及 JP 5.0.1 DP 软件组件进行安装。方法二:使用DeepStream tar包
https://developer.nvidia.com/deepstream_sdk_v6.1.0_jetsontbz2- 将 DeepStream 6.1 Jetson tar 包
deepstream_sdk_v6.1.0_jetson.tbz2
下载到 Jetson 设备。 - 输入以下命令以提取并安装 DeepStream SDK:
$ sudo tar -xvf deepstream_sdk_v6.1.0_jetson.tbz2 -C / $ cd /opt/nvidia/deepstream/deepstream-6.1 $ sudo ./install.sh $ sudo ldconfig
- 将 DeepStream 6.1 Jetson tar 包
方法三:使用DeepStream Debian包:
https://developer.nvidia.com/deepstream-6.1_6.1.0-1_arm64deb将 DeepStream 6.1 Jetson Debian 软件包 deepstream-6.1_6.1.0-1_arm64.deb 下载到 Jetson 设备。 输入以下命令:
sudo apt-get install ./deepstream-6.1_6.1.0-1_arm64.deb
方法四:使用 Docker 容器 DeepStream docker 容器在 NGC 上可用。 请参阅 Docker 容器部分以了解有关使用 docker 容器开发和部署 DeepStream 的信息。
运行 deepstream-app(参考应用程序)
导航到开发工具包上的示例目录。
输入以下命令以运行参考应用程序:
deepstream-app -c <path_to_config_file>
其中 <path_to_config_file>
是参考应用程序配置文件之一的路径名,位于 configs/deepstream-app/
中。 有关可用文件的列表,请参阅包内容。
可以使用 deepstream-app 运行的配置文件:
a. source30_1080p_dec_infer-resnet_tiled_display_int8.txt
b. source30_1080p_dec_preprocess_infer-resnet_tiled_display_int8.txt
c. source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt
d. source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8_gpu1.txt (dGPU only)
e. source1_usb_dec_infer_resnet_int8.txt
f. source1_csi_dec_infer_resnet_int8.txt (Jetson only)
g. source2_csi_usb_dec_infer_resnet_int8.txt (Jetson only)
h. source6_csi_dec_infer_resnet_int8.txt (Jetson only)
i. source2_1080p_dec_infer-resnet_demux_int8.txt
j. source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.yml
k. source30_1080p_dec_infer-resnet_tiled_display_int8.yml
注意:
您可以在 /opt/nvidia/deepstream/deepstream-6.1/samples
目录下找到示例配置文件。 输入此命令以查看应用程序使用情况:
$ deepstream-app --help
要保存 TensorRT 引擎/计划文件,请运行以下命令:
$ sudo deepstream-app -c <path_to_config_file>
要在 2D 平铺显示视图中显示标签,请在源上单击鼠标左键展开感兴趣的源。 要返回平铺显示,请右键单击窗口中的任意位置。
还支持源的键盘选择。 在运行应用程序的控制台上,按 z 键,然后按所需的行索引(0 到 9),然后按列索引(0 到 9)以展开源。 要恢复 2D 平铺显示视图,请再次按 z。
提高时钟频率
安装 DeepStream SDK 后,在 Jetson 设备上运行以下命令以提升时钟频率:
$ sudo nvpmodel -m 0
$ sudo jetson_clocks
注意
对于 Jetson Xavier NX,运行 sudo nvpmodel -m 8 而不是 0。
运行预编译的示例应用程序
进入到sources/apps/sample_apps 中选择的应用程序目录。
按照目录的 README 文件运行应用程序。
注意
如果应用程序遇到错误并且无法创建 Gst 元素,请删除 GStreamer 缓存,然后重试。 要删除 GStreamer 缓存,请输入以下命令: $ rm ${HOME}/.cache/gstreamer-1.0/registry.aarch64.bin
当针对没有现有引擎文件的模型运行应用程序时,文件生成和应用程序启动可能需要几分钟(取决于平台和模型)。 对于以后的运行,这些生成的引擎文件可以重复使用以加快加载速度。
Ubuntu上独立GPU的配置
本节介绍如何在安装 DeepStream SDK 之前准备带有 NVIDIA dGPU(独立GPU) 设备的 Ubuntu x86_64 系统。
注意
本文档使用术语 dGPU(discrete GPU)来指代 NVIDIA GPU 扩展卡产品,例如 NVIDIA Tesla T4、NVIDIA GeForce GTX 1080 和 NVIDIA GeForce RTX 2080。此版本的 DeepStream SDK 在特定的 dGPU 产品上运行 在 NVIDIA 驱动程序 510.47.03 和 NVIDIA TensorRT 8.2.5.1 及更高版本支持的 x86_64 平台上。
您必须安装以下组件:
Ubuntu 20.04
GStreamer 1.16.2
NVIDIA driver 510.47.03
CUDA 11.6 Update 1
TensorRT 8.2.5.1
删除所有以前的 DeepStream 安装
输入以下命令以删除所有以前的 DeepStream 3.0 或以前的安装:
$ sudo rm -rf /usr/local/deepstream /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstnv* /usr/bin/deepstream* /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libnvdsgst*
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream*
/opt/nvidia/deepstream/deepstream*
$ sudo rm -rf /usr/lib/x86_64-linux-gnu/libv41/plugins/libcuvidv4l2_plugin.so
要删除 DeepStream 4.0 或更高版本的安装:
打开
/opt/nvidia/deepstream/deepstream/中的uninstall.sh
文件将
PREV_DS_VER
设置为 4.0以
sudo ./uninstall.sh
身份运行以下脚本
在安装 DeepStream SDK 之前,输入以下命令来安装必要的软件包:
$ 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 \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev \
gcc \
make \
git \
python3
安装 NVIDIA 驱动程序 510.47.03
从 NVIDIA Unix 驱动程序页面下载并安装 NVIDIA 驱动程序 510.47.03:https://www.nvidia.com/Download/driverResults.aspx/186156/en-us
运行以下命令:
$chmod 755 NVIDIA-Linux-x86_64-510.47.03.run
$sudo ./NVIDIA-Linux-x86_64-510.47.03.run
安装 CUDA Toolkit 11.6.1
从以下网址下载并安装 CUDA Toolkit 11.6.1:https://developer.nvidia.com/cuda-11-6-1-download-archive
在此页面中,提到了 NVIDIA Linux GPU 驱动程序 510.47.03
注意:
如果您在安装 cuda 时发现以下错误,请参阅 https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/
W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC E: The repository ‘https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease’ is no longer signed.。
安装 TensorRT 8.2.5.1
以下是安装 TensorRT 8.2.5.1 的步骤:
- 运行以下命令:
$ sudo rm /etc/apt/sources.list.d/*cuda*
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
$ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
$ sudo apt-get update
- 下载:
TensorRT 8.2 GA Update 4 for Ubuntu 20.04 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4 and 11.5 DEB
下载地址:
https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.2.5.1/local_repos/nv-tensorrt-repo-ubuntu2004-cuda11.4-trt8.2.5.1-ga-20220505_1-1_amd64.deb
- 运行以下命令安装 TensorRT 8.2.5.1:
$ sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.4-trt8.2.5.1-ga-20220505_1-1_amd64.deb
$ sudo apt-key add /var/nv-tensorrt-repo-ubuntu2004-cuda11.4-trt8.2.5.1-ga-20220505/82307095.pub
$ sudo apt-get update
$ sudo apt install tensorrt
注意:
在安装 tensorRT 包时,使用终端上显示的命令安装密钥。
安装特定的 cudnn 版本,例如 cudnn-8.4.0.27,请在安装 TensorRT 之前按照以下步骤操作:
从以下网址下载适用于 Ubuntu 20.04 和 CUDA 11.x 本地 repo 包的 cuDNN 8.4.0:
https://developer.nvidia.com/compute/cudnn/secure/8.4.0/local_installers/11.6/cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb
运行以下命令进行安装:
$sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb $sudo apt-get update $sudo apt install libcudnn8=8.4.0.27-1+cuda11.6 libcudnn8-dev=8.4.0.27-1+cuda11.6
安装 librdkafka(为消息代理启用 Kafka 协议适配器)
- 从 GitHub 克隆 librdkafka 存储库:
$ git clone https://github.com/edenhill/librdkafka.git
- 配置和构建库:
$ cd librdkafka
$ git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
$ make
$ sudo make install
- 将生成的库复制到 deepstream 目录:
$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.1/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.1/lib
安装DeepStream SDK
方法一:使用 DeepStream Debian 软件包
下载 DeepStream 6.1 dGPU Debian 软件包
deepstream-6.1_6.1.0-1_amd64.deb
:
https://developer.nvidia.com/deepstream-6.1_6.1.0-1_amd64deb输入命令:
$ sudo apt-get install ./deepstream-6.1_6.1.0-1_amd64.deb
方法二:下载DeepStream tar包:
https://developer.nvidia.com/deepstream_sdk_v6.1.0_x86_64.tbz2
导航到下载的 DeepStream 包的位置以提取并安装 DeepStream SDK:
$ sudo tar -xvf deepstream_sdk_v6.1.0_x86_64.tbz2 -C / $ cd /opt/nvidia/deepstream/deepstream-6.1/ $ sudo ./install.sh $ sudo ldconfig
方法 3:使用 Docker 容器 DeepStream docker 容器在 NGC 上可用。 请参阅 Docker 容器部分以了解有关使用 docker 容器开发和部署 DeepStream 的信息。
运行 deepstream-app(参考应用程序)
- 转到示例目录并输入以下命令:
其中$ deepstream-app -c <path_to_config_file>
<path_to_config_file>
是参考应用程序的配置文件之一的路径名,可在configs/deepstream-app
中找到。 有关可用文件的列表,请参阅包内容。
注意:
要转储引擎文件,请运行以下命令:
$ sudo deepstream-app -c <path_to_config_file>
您可以在 /opt/nvidia/deepstream/deepstream-6.1/samples
目录下找到示例配置文件。 输入此命令以查看应用程序使用情况:
$ deepstream-app --help
要在 2D 平铺显示视图中显示标签,请在源上单击鼠标左键展开感兴趣的源。 要返回平铺显示,请右键单击窗口中的任意位置。
还支持源的键盘选择。 在运行应用程序的控制台上,按 z 键,然后按所需的行索引(0 到 9),然后按列索引(0 到 9)以展开源。 要恢复 2D 平铺显示视图,请再次按 z。
运行预编译的示例应用程序
导航到sources/apps/sample_apps 中选择的应用程序目录。
按照该目录的 README 文件运行应用程序。
注意:
如果应用程序遇到错误并且无法创建 Gst 元素,请删除 GStreamer 缓存,然后重试。 要删除 GStreamer 缓存,请输入以下命令:
$ rm ${
HOME}/.cache/gstreamer-1.0/registry.x86_64.bin
当为没有现有引擎文件的模型运行应用程序时,文件生成和应用程序启动可能需要几分钟(取决于平台和模型)。 对于以后的运行,这些生成的引擎文件可以重复使用以加快加载速度。
在没有 X server的情况下运行
SDK 提供的默认配置文件将基于 EGL 的 nveglglessink
作为默认渲染器(在 [sink]
组中由 type=2
表示)。 渲染器需要一个正在运行的 X server,如果没有它就会失败。 在没有 X server的情况下,DeepStream 参考应用程序提供了通过 RTSP 流式传输输出的替代功能。 这可以通过在配置文件中添加一个 RTSP 输出接收器组来启用。 有关示例,请参阅 source30_1080p_dec_infer-resnet_tiled_display_int8.txt
文件中的 [sink2]
组。 不要忘记通过为相应的接收器组设置 enable=0
来禁用 nveglglessink
渲染器。
平台和操作系统兼容性
下表提供了有关 DeepStream 当前和早期版本中的平台和操作系统兼容性的信息。
DS release | DS 4.0.2 (Unified) | DS 5.0 GA, 5.0.1, 5.1 (Unified) | DS 6.0 | DS 6.0.1 | DS 6.1 |
---|---|---|---|---|---|
Jetson platforms | Nano, AGX Xavier, TX2, TX1 | Nano, AGX Xavier, TX2, TX1, Jetson NX | Nano, AGX Xavier, TX2, TX1, Jetson NX | Nano, AGX Xavier, TX2, TX1, Jetson NX | AGX Xavier, Jetson NX, Jetson Orin |
OS | L4T Ubuntu 18.04 | L4T Ubuntu 18.04 | L4T Ubuntu 18.04 | L4T Ubuntu 18.04 | L4T Ubuntu 20.04 |
JetPack release | 4.3 | 4.4 GA (4.5.1 GA for DS 5.1) | 4.6 GA | 4.6.1 GA | 5.0.1 DP |
L4T release | 32.3.1 | 32.4.3 (32.5.1 for DS 5.1) | 32.6.1 | 32.7.1 | 34.1.1 |
CUDA release | CUDA 10.0 | CUDA 10.2 | CUDA 10.2 | CUDA 10.2 | CUDA 11.4 |
cuDNN release | cuDNN 7.6.3 | cuDNN 8.0.0.x | cuDNN 8.2.1.32 | cuDNN 8.2.1.32 | cuDNN 8.3.2.49 |
TensorRT release | TRT 6.0.1 | TRT 7.1.3 | TRT 8.0.1 | TRT 8.2.1 | TRT 8.4.0.11 |
OpenCV release | OpenCV 4.1 | OpenCV 4.1.1 | OpenCV 4.1.1 | OpenCV 4.1.1 | OpenCV 4.2.0 |
VisionWorks | VisionWorks 1.6 | VisionWorks 1.6 | VisionWorks 1.6.502 | VisionWorks 1.6.502 | NA |
GStreamer | GStreamer 1.14.1 | GStreamer 1.14.1 | GStreamer 1.14.5 | GStreamer 1.14.5 | GStreamer 1.16.2 |
Docker image | deepstream-l4t:4.0.2 | deepstream-l4t:5.0, deepstream-l4t:5.0.1, deepstream-l4t:5.1 | deepstream-l4t:6.0-ga | deepstream-l4t:6.0.1 | deepstream-l4t:6.1 |
DS release | DS 4.0.2 (Unified) | DS 5.0 GA, 5.0.1 (Unified), 5.1 | DS 6.0 | DS 6.0.1 | DS 6.1 |
---|---|---|---|---|---|
GPU platforms | P4, T4, V100 | P4, T4, V100, A100 (DS 5.1) | P4, T4, V100, A100 | P4, T4, V100, A100 | T4, V100, A2, A10, A30, A100, RTX Ampere (Ax000/RTX30x0) |
OS | Ubuntu 18.04 | Ubuntu 18.04 RHEL 8.x | Ubuntu 18.04 RHEL 8.x | Ubuntu 18.04 RHEL 8.x | Ubuntu 20.04 |
GCC | GCC 7.3.0 | GCC 7.3.0 | GCC 7.3.0 | GCC 7.3.0 | GCC 9.4.0 |
CUDA release | CUDA 10.1 | CUDA 10.2 ( Cuda 11.1 for DS 5.1) | CUDA 11.4.1 | CUDA 11.4.1 | CUDA 11.6.1 |
cuDNN release | cuDNN 7.6.5+ | cuDNN 7.6.5+ (CuDNN 8.0+ for DS 5.1) | cuDNN 8.2+ | cuDNN 8.2+ | cuDNN 8.4.0.27 |
TRT release | TRT 6.0.1 | TRT 7.0.0 (TRT 7.2.2 for DS 5.1) | TRT 8.0.1 | TRT 8.0.1 | TRT 8.2.5.1 |
Display Driver | R418+ | R450.51 (R460.32 for DS 5.1) | R470.63.01 | R470.63.01 | R510.47.03 |
VideoSDK release | SDK 9.0 | SDK 9.1 | SDK 9.1 | SDK 9.1 | SDK 9.1 |
OFSDK release | 1.0.10 | 1.0.10 | 2.0.23 | 2.0.23 | 2.0.23 |
GStreamer release | GStreamer 1.14.1 | GStreamer 1.14.1 | GStreamer 1.14.5 | GStreamer 1.14.5 | GStreamer 1.16.2 |
OpenCV release | OpenCV 3.3.1 | OpenCV 3.4.0 | OpenCV 3.4.0 | OpenCV 3.4.0 | OpenCV 4.2.0 |
Docker image | deepstream:4.0.2 | deepstream:5.0, deepstream:5.0.1, deepstream:5.1 | deepstream:6.0-ga | deepstream:6.0.1 | deepstream:6.1 |
注意:
默认情况下,OpenCV 已被弃用。 但是,通过在这些组件的 Makefile 中设置 WITH_OPENCV=1,可以在 nvinfer (nvdsinfer)
和 dsexample (gst-dsexample)
等插件中启用 OpenCV。 请参阅组件自述文件以获取更多说明。
DeepStream Triton 推理服务器使用指南
要将 DeepStream 6.1 部署 (Triton 22.03) 中的 Triton 版本迁移到更新版本(例如 Triton 22.04 或更高版本),请按照 DeepStream Triton 迁移指南中的说明进行操作。
dGPU
- 拉取 DeepStream Triton 推理服务器 docker
docker pull nvcr.io/nvidia/deepstream:6.1-triton
- 启动docker
docker run --gpus "device=0" -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -e CUDA_CACHE_DISABLE=0 nvcr.io/nvidia/deepstream:6.1-triton
注意:
x86 和 Jetson 的 triton docker 基于 tritonserver 22.03 docker,并具有 Ubuntu 20.04。
首次启动 triton docker 时,可能需要几分钟才能启动,因为它必须生成计算缓存。
Jetson
DeepStream Triton 容器映像 (nvcr.io/nvidia/deepstream-l4t:6.1-triton
) 预装了 Triton 推理服务器和支持的后端库。
为了直接在设备上运行 Triton 推理服务器,即没有 docker,需要设置 Triton 服务器。
转到示例目录并运行以下命令来设置 Triton 服务器和后端。
$ cd /opt/nvidia/deepstream/deepstream/samples/
$ sudo ./triton_backend_setup.sh
注意:
默认情况下,脚本将下载 Triton Server 2.20 版。 要设置任何其他版本,请相应地更改包路径。
脚本默认将 Triton 后端安装到 /opt/nvidia/deepstream/deepstream/lib/triton_backends
中。 用户可以更新特定文件夹的 infer_config 设置,如下所示:
model_repo {
backend_dir: /opt/nvidia/tritonserver/backends/
}
使用DLA推理
DLA 是 Jetson AGX Xavier 和 Jetson NX 平台上的深度学习加速器。 这两个平台都有两个 DLA 引擎。 DeepStream 可以配置为通过 Gst-nvinfer 插件在任一 DLA 引擎上运行推理。 可以将 Gst-nvinfer 插件的一个实例以及模型的单个实例配置为在单个 DLA 引擎或 GPU 上执行。 但是,可以将多个 Gst-nvinfer 插件实例配置为使用相同的 DLA。 要配置 Gst-nvinfer 使用 DLA 引擎进行推理,请修改 nvinfer 组件配置文件中的相应属性(例如:samples/configs/deepstream-app/config_infer_primary.txt
):在 [property]
组中设置 enable-dla=1
。 根据要使用的 DLA 引擎设置 use-dla-core=0
或 use-dla-core=1
。
DeepStream 确实支持并行使用 GPU 和 DLA 进行推理。 您可以在单独的进程或单个进程中运行它。 您将需要配置为在 GPU、DLA0 和 DLA1 上运行的三组独立配置:
单独的进程
当 GPU 和 DLA 在不同的进程中运行时,从运行 DLA 配置的终端将环境变量 CUDA_DEVICE_MAX_CONNECTIONS
设置为 1。
单一进程
DeepStream 参考应用程序支持在同一进程中进行多个配置。 要在同一进程中运行 DLA 和 GPU,请将环境变量 CUDA_DEVICE_MAX_CONNECTIONS
设置为 32
:
$ deepstream-app -c <gpuconfig> -c <dla0config> -c <dla1config>
边栏推荐
猜你喜欢
随机推荐
2022 年值得尝试的 7 个 MQTT 客户端工具
坚持自主创新 线控底盘领军企业英创汇智获数亿元B+轮融资
博世「求援」,毫米波雷达重构
Break the stereotype, DIY is your own unique mall
软件技术功能开发思路
“如何写好一篇学术论文?”这大概是最详实的一则攻略了!
我今天终于发现demo才是一切
亲戚3.5W入职华为后,我也选择了转行……
先睹为快!界面控件DevExpress WPF这些功能即将发布
[LeetCode]剑指 Offer 32 - II. 从上到下打印二叉树 II
dogs vs cats 二分类问题vgg16迁移学习
word公式复制到另一个word当中出现图片解决方案
【Transformer专题】一、Attention is All You Need(Transformer)
2.3 - P、V、S机制
“绿色低碳+数字孪生“双轮驱动,解码油气管道站升级难点
CefSharp practical demonstration
let块级作用域,var变量提升
DevOps开发工具对比
动态权重之多任务不平衡论文 (二) MetaBalance
CWE4.8:2022年危害最大的25种软件安全问题