被裁20240927 --- WSL-Ubuntu20.04安装cuda、cuDNN、tensorRT
cuda、cuDNN、tensorRT的使用场景
1. CUDA(Compute Unified Device Architecture)
作用:
- GPU 通用计算:CUDA 是 NVIDIA 的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,加速通用计算任务(如科学计算、图像处理、深度学习等)。
- 硬件抽象层:提供 API 和工具链(如编译器、调试器),让开发者能够编写运行在 NVIDIA GPU 上的代码。
使用场景:
- 深度学习训练与推理:为深度学习框架(如 TensorFlow、PyTorch)提供底层 GPU 加速支持。
- 高性能计算(HPC):加速物理模拟、分子动力学、金融建模等计算密集型任务。
- 图形渲染与游戏开发:支持 GPU 加速的图形渲染和实时计算。
核心特点:
- 支持 C/C++、Python 等语言的 GPU 编程。
- 提供多线程并行计算能力,显著提升计算效率。
2. cuDNN(CUDA Deep Neural Network Library)
作用:
- 深度学习专用加速库:cuDNN 是 NVIDIA 针对深度学习优化的 GPU 加速库,专注于加速神经网络的核心操作(如卷积、池化、归一化、激活函数等)。
- 框架集成:主流深度学习框架(如 TensorFlow、PyTorch、MXNet)依赖 cuDNN 实现高效的 GPU 加速。
使用场景:
- 训练深度学习模型:在模型训练阶段,cuDNN 加速卷积、循环神经网络(RNN)等操作。
- 推理加速:在模型推理阶段优化计算性能。
核心特点:
- 高度优化的算法实现,比直接使用 CUDA 实现更快。
- 支持自动选择最优算法(如根据输入尺寸选择最快的卷积算法)。
- 与 CUDA 紧密集成,需配合 CUDA 使用。
3. TensorRT(Tensor Runtime)
作用:
- 推理优化引擎:TensorRT 是 NVIDIA 的高性能深度学习推理(Inference)优化器和运行时引擎,专注于将训练好的模型部署到生产环境。
- 模型压缩与加速:通过层融合(Layer Fusion)、精度校准(INT8/FP16)、内核自动调优等技术,显著降低模型延迟、提高吞吐量。
使用场景:
- 生产环境部署:在边缘设备(如 Jetson 系列)、云端服务器或数据中心部署训练好的模型。
- 低延迟推理:适用于实时应用(如自动驾驶、视频分析、语音识别)。
- 资源受限环境:通过量化(INT8)减少模型内存占用和计算量。
核心特点:
- 支持模型格式转换(如 ONNX、TensorFlow、PyTorch → TensorRT 引擎)。
- 动态张量形状(Dynamic Tensor Shape)支持(适用于可变输入尺寸)。
- 跨平台部署(支持 Windows/Linux/Jetson 等)。
三者的关系与协作流程
-
训练阶段:
- 使用 CUDA 提供 GPU 计算能力。
- 依赖 cuDNN 加速深度学习框架的核心操作(如卷积)。
- 框架示例:PyTorch + CUDA + cuDNN 训练 ResNet 模型。
-
推理阶段:
- 使用 TensorRT 对训练好的模型进行优化(如 FP16/INT8 量化、层融合)。
- 最终生成轻量化的 TensorRT 引擎,在部署时显著提升推理速度。
- 示例:将训练好的 YOLOv5 模型转换为 TensorRT 引擎,部署到 NVIDIA Jetson 边缘设备。
总结对比
| 工具 | 定位 | 主要场景 | 依赖关系 |
|---|---|---|---|
| CUDA | GPU 通用计算平台 | 所有 GPU 加速任务 | 无 |
| cuDNN | 深度学习专用加速库 | 训练和推理 | 依赖 CUDA |
| TensorRT | 推理优化引擎 | 生产环境部署 | 依赖 CUDA 和 cuDNN |
注意事项
- 版本兼容性:CUDA、cuDNN、TensorRT 和深度学习框架(如 PyTorch)需版本匹配。
- 硬件限制:仅支持 NVIDIA GPU(如 RTX 系列、Tesla 系列、Jetson 系列)。
通过合理使用 CUDA、cuDNN 和 TensorRT,可以显著提升深度学习模型的训练效率和推理性能。
安装cuda、cuDNN、tensorRT
环境:WSL-Ubuntu20.04
参考资料:
- https://blog.csdn.net/JineD/article/details/131201121
- https://blog.csdn.net/qq_43515934/article/details/123897435
- https://zhuanlan.zhihu.com/p/615053337
- https://blog.csdn.net/weixin_45628358/article/details/130408132
- CUDA Toolkit Documentation
- CUDA on WSL User Guide
- NVIDIA cuDNN Documentation
- NVIDIA Deep Learning TensorRT Documentation
- NVIDIA TensorRT Documentation
- 阿木实验室SpireCV安装脚本
- DeepSeek
一些概念
- 安装CUDA即安装nvidia-cuda-toolkit
- 只要Windows中安装好了NVIDIA显卡驱动,在WSL中可以直接使用该驱动,最新的NVIDIA Windows GPU驱动程序将完全支持WSL,所以不要在WSL-Ubuntu20.04上安装任何的NVIDIA显卡驱动!以免造成覆盖问题!请不要
apt install nvidia-cuda-toolkit,因为nvidia-cuda-toolkit包含了一个显卡驱动! - CUDA
加速运算(科学计算、图形运算);
训练、推理过程中均可使用; - cuDNN
加速DNN的运算;
被TensorFlow、PyTorch、OpenCV等深度学习框架、模块调用;
训练、推理过程中均可使用; - TensorRT:优化深度学习网络的推理;
被TensorFlow、PyTorch、OpenCV等深度学习框架、模块调用;
只在推理过程中使用; - Cuda版本切换
如果机器上安装了多个版本的cuda,则会在/usr/local/中存在多个cuda-xx的文件夹,如下:

其中/usr/local/cuda文件夹是个软链接,链接到目前的cuda版本目录,所以如果要切换版本的话,只需要将原来cuda软链删除,重新建立指向另一个cuda-xx目录即可。 - 安装cuda的系统要求、硬件条件、编程语言要求、内核要求等、系统版本要求、编译器版本要求请查阅:Pre-installation Actions
- GPG、GPG public key:GPG(GNU Privacy Guard)是一个用于加密、签名和验证文件的开源加密工具。它可以帮助用户保护他们的数据免受未经授权的访问和篡改。您可以使用GPG来加密和签名电子邮件、文件和文本消息,以确保它们的安全性和完整性。
安装 CUDA
安装 CUDA 即安装 CUDA Toolkit
-
0)安装前的准备工作
确认WSL中可以正常访问GPU:nvidia-smi -
1)卸载WSL中为Ubuntu安装的显卡驱动
一旦在Windows 上安装了NVIDIA GPU驱动程序,CUDA就可以在WSL2中以libcuda.so的形式使用。因此,不要在WSL 2中安装任何NVIDIA显卡驱动,否则会造成驱动覆盖问题!假如安装了,要卸载掉并重启wsl2:sudo apt-get remove --purge nvidia* sudo reboot -
2)卸载旧的 CUDA
卸载掉可能存在的旧 CUDA -Toolkit,以进行正确版本 CUDA 的安装:sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \"*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*" sudo apt-get autoremove -
3)删除旧的 GPG key,GPG 秘钥用于从CUDA仓库中下载文件的身份认证!7fa2af80是旧的key,目前CUDA repository最新的key是3bf863cc,推荐使用cuda-keyring来安装最新的key:
sudo apt-key del 7fa2af80 -
4)查看显卡驱动版本
nvidia-smi
也可以在windows中的NVIDIA控制面板中查看!

- 二,当前安装的显卡驱动支持哪些版本的cuda?
查看方法:Table 2 CUDA Toolkit and Minimum Required Driver Version for CUDA Minor Version Compatibility.
注意:CUDA驱动程序是向后兼容的,例如:CUDA 11.6.x 要求显卡驱动版本 >= 450.80.02,假如你的显卡驱动版本是 536.67的话,那么你的显卡驱动同样可以兼容 CUDA 11.6.x. - 三,要选择与其他软件包互相兼容的cuda版本。
例如:你的程序使用了TensorRT包,那么在选择CUDA 版本时要考虑与TensorRT的相互兼容,或在选择TensorRT版本时要考虑与CUDA 版本的相互兼容!
- 二,当前安装的显卡驱动支持哪些版本的cuda?
-
5)在 WSL-Ubuntu 中安装 CUDA-Toolkit
安装Linux默认的CUDA-Toolkit时总是附带安装一个显卡驱动,因此不能使用这种方式给WSL2-Ubuntu安装CUDA-Toolkit。为了避免显卡驱动覆盖问题,应该使用下面的方式为WSL2-Ubuntu安装CUDA-Toolkit:- 5.1)从CUDA Toolkit Archive中选择一个合适的cuda版本,以cuda11.6为例:

- 5.2)安装类型选择 wsl-ubuntu :

- 5.3)在bash中执行安装命令(任选一种安装方式,推荐使用Network方式):
# Network 方式安装: wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/7fa2af80.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /" sudo apt-get update sudo apt-get -y install cuda # Local方式安装: wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda
- 5.1)从CUDA Toolkit Archive中选择一个合适的cuda版本,以cuda11.6为例:
-
6)查看是否安装成功(先重启一下wsl)
# 先重启一下wsl dpkg -l cuda -
7)安装完成可以删除掉.deb文件以释放存储空间
sudo rm cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb -
CUDA默认安装路径为 /usr/local/cuda/
或/usr/cuda/
安装 cuDNN
-
0)准备工作
- 安装显卡驱动:在WSL中不需要这步;
- 安装CUDA Toolkit:在上一节中已安装;
- 安装Zlib
sudo apt-get install zlib1g
-
1)下载和已安装的CUDA相兼容的cuDNN安装文件:cuDNN Archive.

-
2)选择一个符合您环境的安装方法:tar文件安装适用于所有Linux平台;Deb文件安装适用于Debian 11、Ubuntu 18.04、Ubuntu 20.04和22.04;RPM文件安装适用于RHEL7、RHEL8和RHEL9;包管理工具(如apt)安装方式,适合联网条件下安装。

-
3)以apt-get安装方式为例,为wsl2-Ubuntu安装 cuDNN v8.4.1:
sudo apt-get install libcudnn8=8.4.1.*-1+cuda11.6
sudo apt-get install libcudnn8-dev=8.4.1.*-1+cuda11.6
sudo apt-get install libcudnn8-samples=8.4.1.*-1+cuda11.6 -
4)验证安装是否成功
查看cudnn_version.h或cudnn.h
如果出现版本号则安装成功cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 或者: cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 如果cudnn_version.h文件不存在就搜索一下,安装路径可能有出入 sudo find / -name 'cudnn_version.h' 或查找文件cudnn.h -
参考文献
官网:cuDNN installation Guide on Linux
博客:https://blog.csdn.net/qq_43515934/article/details/123897435
6.4 安装TensorRT
- 1)下载
查看与已安装的CUDA Toolkit、cuDNN版本相互兼容的TensorRT版本,并下载安装文件,以deb安装方式为例。 - 2)安装tensorrt,以TensorRT 8.4 EA、cuda11.6.0、cuDNN8.4.1为例
sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212_1-1_amd64.deb - 3)添加第三方仓库秘钥
sudo apt-key add /var/nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212/*.pub #或: sudo cp /var/nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212/*.gpg /usr/share/keyrings/ - 4)更新软件源,要保证运行后无错误提示
sudo apt-get update - 5)安装tensorrt的依赖
TensorRT 提供三种安装模式:完整安装、lean runtime 安装、dispatch runtime安装,根据具体需要来进行安装!了解更多请参考:TensorRT Documentation。
以完整安装为例:sudo apt-get install tensorrt -y python3 -m pip install numpy sudo apt-get install python3-libnvinfer-dev - 6)验证是否安装成功
显示如 tensorrt 8.6.1.x-1+cuda12.0 则表明安装成功!dpkg-query -W tensorrt - 7)安装完毕后可以删除安装文件 *.deb 以释放空间。
- 参考文献
NVIDIA Deep Learning TensorRT Documentation
阿木实验室SpireCV安装脚本
6.5 卸载
- 卸载CUDA
# To remove CUDA Toolkit: sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \"*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*" # To remove NVIDIA Drivers: sudo apt-get --purge remove "*nvidia*" "libxnvctrl*" # To clean up the uninstall: sudo apt-get autoremove - 卸载cuDNN
sudo apt-get --purge remove "*cuDNN*"sudo apt-get autoremove - 卸载TensorRT
Uninstalling TensorRT
6.6 Troubleshooting
-
1)
the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80 Hit:4 https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64 InRelease
原因:key不正确!!
解决办法:找到该源,为它重新配置一个正确的key(无效的源就删掉!)

-
2)
W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/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/wsl-ubuntu/x86_64 InRelease' is not signed.
原因:缺少公钥
解决办法:https://blog.csdn.net/A15130402745/article/details/131643433
https://keyserver.ubuntu.com/ -
3)
Version '8.4.1-1+cuda11.6' for 'libcudnn8' was not found

解决办法:sudo apt-get install libcudnn8=8.4.1.*-1+cuda11.6 -
4)安装libcudnn8-samples出现:
Version '8.4.1.*-1+cuda11.6' for 'libcudnn8-samples' was not found
解决办法:sudo apt-get install libcudnn8-samples -
5)
Processing triggers for libc-bin (2.31-0ubuntu9.14) ... /sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link
在安装完cuda或tensorRT后出现该问题。
解决办法:重新建立软连接,它们正确的关系应该是:libcuda.so -> libcuda.so.1 -> libcuda.so.1.1。步骤:
在windows Powershell中:cd C:\Windows\System32\lxss\lib rm libcuda.so rm libcuda.so.1在wsl中:
cd /usr/lib/wsl/lib/ ln -s libcuda.so.1.1 libcuda.so.1 ln -s libcuda.so.1.1 libcuda.so -
6)
export: bad variable name
待解决…

相关文章:
被裁20240927 --- WSL-Ubuntu20.04安装cuda、cuDNN、tensorRT
cuda、cuDNN、tensorRT的使用场景 1. CUDA(Compute Unified Device Architecture) 作用: GPU 通用计算:CUDA 是 NVIDIA 的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,加速通用计算任…...
【架构】微内核架构(Microkernel Architecture)
微内核架构(Microkernel Architecture) 核心思想 微内核架构(又称插件式架构)通过最小化核心系统,将可扩展功能以插件模块形式动态加载,实现高内聚低耦合。其核心设计原则: 核心最小化:仅封装基础通用能力(如插件管理、通信机制、安全校验)功能插件化:所有业务功能…...
公务员行测之类比推理-新手小白
类比推理 前言学习类比推理1 语义关系1.1 近义1.2 反义1.3 象征、比喻 2 逻辑关系2.1 全同2.2 并列(1)矛盾并列(2)反对并列2.3 包容(1)种属(2)组成部分2.4 交叉2.5 对应关系…...
详解Nginx 配置
一、Nginx 介绍 Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件(IMAP/POP3)代理服务器。它由俄罗斯的程序设计师 Igor Sysoev 所开发,自 2004 年发布以来,凭借其高性能、低内存消耗、高并发处理能力等特点…...
动静态链接与加载
目录 静态链接 ELF加载与进程地址空间(静态链接) 动态链接与动态库加载 GOT表 静态链接 对于多个.o文件在没有链接之前互相是不知到对方存在的,也就是说这个.o文件中调用函数的的跳转地址都会被设定为0(当然这个函数是在其他.…...
83_CentOS7通过yum无法安装软件问题解决方案
大家好,我是袁庭新。很多小伙伴在CentOS 7中使用yum命令安装软件时,出现无法安装成功的问题,今天给大家分享一套解决方案~ 在CentOS 7中,yum是一个常用的包管理工具,它基于RPM包管理系统。如果你发现yum无法使用,可能是由于多种原因造成的。以下是一些解决步骤,可以帮…...
在PyTorch中使用插值法来优化卷积神经网络(CNN)所需硬件资源
插值法其实就是在已知数据点之间估计未知点的值。通过已知的离散数据点,构造一个连续的曲线函数,预测数据点之间的空缺值是什么并且自动填补上去。 适用场景: 在卷积神经网络(CNN)中的应用场景中,经常遇到计算资源有限,比如显存不够或者处理速度慢,需要用插值来降低计…...
数据包在客户端和服务端,以及网络设备间如何传输的?
声明:文章中图片来自于网络收集,整体流程自己梳理。 目录 问题:如下socket客户端请求数据包如何传输的? 拓扑环境 数据包在分层间传输 网络分层L2/L3/L4 数据包收发-在各分层间变化 各层头部中-核心信息 数据包在不同设备…...
用Python实现Excel数据同步到飞书文档
目录 一、整体目标 二、代码结构拆解 三、核心逻辑讲解(重点) 1. 建立安全连接(获取access_token) 2. 定位文档位置 3. 数据包装与投递 四、异常处理机制 五、函数讲解 get_access_token() 关键概念解释 1. 飞书API访问…...
25林业研究生复试面试问题汇总 林业专业知识问题很全! 林业复试全流程攻略 林业考研复试真题汇总
25 林业考研复试,专业面试咋准备?学姐来支招! 宝子们,一提到林业考研复试面试,是不是就慌得不行,感觉老师会扔出一堆超难的问题?别怕别怕,其实林业考研复试就那么些套路,…...
js版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]新特性
ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言,本文讲述Javascript[ECMAScript]版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]的新特性,帮助朋友们更好的熟悉和使用Javascript ES5 1.严格模式 use strict2.Object getPrototypeOf,返回一个对象的原…...
vxe-table实现动态列
vxe-table实现动态列 1.动态列解释2.解决步骤2.1将后端返回的动态列表头,按照格式拼接在固定列表头上2.2将后端返回的列表数据按照键值对格式组装 1.动态列解释 正常列表是有固定的列;我的需求是,最初只知道表格的固定两列,查询数…...
尚硅谷爬虫note009
一、jsonpath 1.安装 pip install jsonpath 2.使用 只能解析本地文件 .json文件 {"store": {"book": [{"category": "reference","author": "Nigel Rees","title": "Sayings of the Century&qu…...
verilog笔记
Verilog学习笔记(一)入门和基础语法BY电棍233 由于某些不可抗拒的因素和各种的特殊原因,主要是因为我是微电子专业的,我需要去学习一门名为verilog的硬件解释语言,由于我是在某西部地区的神秘大学上学,这所…...
Java+SpringBoot+Vue+数据可视化的综合健身管理平台(程序+论文+讲解+安装+调试+售后)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统介绍 在当今社会,随着人们生活水平的不断提高和健康意识的日益增强,健…...
正确清理C盘空间
一.系统清理 正确清理C盘空间主要是删除不需要的文件和应用程序,以释放磁盘空间。以下是一些常用的方法: 删除临时文件:在Windows搜索框中输入“%temp%”,打开临时文件夹,将其中的文件全部删除。 清理回收站…...
网站快速收录:如何设置robots.txt文件?
为了网站快速收录而合理设置robots.txt文件,需要遵循一定的规则和最佳实践。robots.txt文件是一个纯文本文件,它告诉搜索引擎爬虫哪些页面可以访问,哪些页面不可以访问。以下是如何设置robots.txt文件以助于网站快速收录的步骤和要点…...
python绘制年平均海表温度、盐度、ph分布图
python绘制年平均海表温度、盐度、ph图 文章目录 python绘制年平均海表温度、盐度、ph分布图前言一、数据准备二、代码编写2.1. python绘制年平均海表温度(主要)2.2. python绘制年平均海表盐度(选看)2.3. python绘制年平均海表ph&…...
网络空间安全(2)应用程序安全
前言 应用程序安全(Application Security,简称AppSec)是一个综合性的概念,它涵盖了应用程序从开发到部署,再到后续维护的整个过程中的安全措施。 一、定义与重要性 定义:应用程序安全是指识别和修复应用程序…...
HTTPS 通信流程
HTTPS 通信流程时序图: #mermaid-svg-HWoTbFvfih6aYUu6 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HWoTbFvfih6aYUu6 .error-icon{fill:#552222;}#mermaid-svg-HWoTbFvfih6aYUu6 .error-text{fill:#…...
全链路优化:如何让单点登录认证接口并发性能翻倍?
背景 最近针对一个单点登录认证项目进行性能优化,在 8核 16G 环境下的认证并发能力从每秒800次提升至每秒1600次,性能提升一倍,整理此次优化过程中的相关性能优化操作总结和大家分享一下。 Nginx配置优化 在并发认证场景下,Ngi…...
http代理IP怎么实现?如何解决代理IP访问不了问题?
HTTP代理是一种网络服务,它充当客户端和目标服务器之间的中介。当客户端发送请求时,请求首先发送到代理服务器,然后由代理服务器转发到目标服务器。同样,目标服务器的响应也会先发送到代理服务器,再由代理服务器返回给…...
设计模式教程:迭代器模式(Iterator Pattern)
迭代器模式(Iterator Pattern)是设计模式中的一种行为型模式,它允许顺序访问一个集合对象中的元素,而无需暴露集合对象的内部结构。换句话说,迭代器模式提供了一个方法,能让你遍历集合中的元素,…...
AI Agent架构深度解析:从ReAct到AutoGPT,自主智能体的技术演进与工程实践
前言 觉得不错就点个赞吧!。 一、AI Agent技术架构演进图谱 (配图:AI Agent架构演进时间轴,标注关键技术节点) 1.1 三代架构对比分析 架构类型代表系统核心特征局限性反应式DeepBlue预置规则库无长期记忆认知式Wats…...
USC安防平台之地图临近资源列表
USC安防平台通过配置多层地图,并把相关的摄像机和门禁对象配置到数据上,用户可以方便的在地图上查看并操作。 但是对于大型的视频监控项目,同一个经纬度可能安装了很多台摄像机,这时候就需要显示同一个经纬度的临近资源列表&…...
Flutter 启动优化
Dart VM在Flutter中的作用是什么?它负责执行Dart代码,无论是JIT还是AOT模式都需要它。在JIT模式下,VM随应用一起运行,而在AOT模式下,代码已经被编译成机器码,VM可能不需要运行时存在?不过实际上…...
JavaScript数组方法reduce详解
JavaScript数组方法reduce详解 目录 JavaScript数组方法reduce详解一,前言二,核心语法三,案例1.求和2.找最大值3.数组转对象4.复合操作(同时实现 map filter) 四,常见错误1.空数组没有初始值2.没有返回累加…...
计算机毕业设计SpringBoot+Vue.js服装商城 服装购物系统(源码+LW文档+PPT+讲解+开题报告)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Web自动化中Selenium下Chrome与Edge的Webdriver常用Options参数
目录 引言 说明 Add_argument() 添加方式 常用参数 Add_experimental_option() 添加方式 常用方法 任务结束后仍然保持浏览器打开 禁用“Chrome 正受到自动测试软件的控制”提示 设置下载路径 禁用弹窗拦截 禁用图片加载 禁用 JavaScript 注意 引言 …...
现代未来派品牌海报徽标设计无衬线英文字体安装包 THANKS LAB
THANK LAB 是一种高级未来主义的软字体,将时尚的现代设计与光滑圆润的边缘相结合,营造出大胆而平易近人的美感。这款字体非常适合品牌、海报、标题、UI/UX 和科幻主题项目,旨在激发创造力。THANK LAB Futuristic Soft Font 完全支持拉丁字母、…...
