当前位置: 首页 > news >正文

大模型相关概念

文章目录

  • 部署相关
    • 数据并行
    • 模型并行
      • 张量并行
      • 管道并行(流水线并行)
    • 混合并行(数据并行+模型并行)
    • 显存优化技术
    • InfiniBand
    • 去中心化的All-Reduce操作
    • 软件
  • 大模型命名
    • **1. 模型架构相关**
    • **2. 模型用途相关**
    • **3. 训练方法相关**
    • **4. 多模态相关**
    • **5. 规模相关**
    • **6. 其他常见关键词**
  • 模型参数
    • 单位
      • FP16和BF16对比
  • 常见存储格式
    • ONNX
    • GGUF
    • safetensor
    • 主要区别

部署相关

数据并行

每个GPU保存完整模型副本,处理不同数据批次,通过All-Reduce同步梯度(需结合显存优化)

模型并行

张量并行

在单节点内使用Megatron-LM拆分Transformer层的矩阵运算

管道并行(流水线并行)

将模型层拆分到不同节点(如Layer 0-10在Node 1,Layer 11-20在Node 2)

混合并行(数据并行+模型并行)

使用PyTorch的torch.distributed和RPC框架将模型分割。然后,在每个模型并行组内部,可能还可以使用数据并行,复制多个这样的模型并行组,每个组处理不同的数据子集。这样既分散了模型参数,又增加了数据处理量。

尽可能减少数据传输量,或者使用梯度累积、异步更新等技术来缓解通信压力。

用FP16或BF16来减少内存占用

优化库如DeepSpeed的ZeRO

显存优化技术

激活检查点(梯度检查点)、混合精度训练(FP16/BP16)、卸载参数到CPU(如ZeRO-Offload)等。

InfiniBand

去中心化的All-Reduce操作

软件

框架/库功能
PyTorch支持分布式训练(DistributedDataParallel、RPC)、模型并行API
DeepSpeed提供ZeRO优化(显存分级分区)、3D并行、梯度累积等
Megatron-LMNVIDIA开发的 Transformer 模型并行库,支持高效张量拆分
NCCLNVIDIA 集体通信库,优化多 GPU 通信效率
组件说明
通信库NCCL(单机多卡)、MPI(跨节点通信)、AWS Elastic Fabric Adapter(EFA)等
分布式训练框架Horovod(基于MPI)、PyTorch Elastic、DeepSpeed(支持跨节点3D并行)
监控与日志Prometheus+Grafana监控GPU利用率、通信延迟;日志集中存储(如ELK)

大模型命名

1. 模型架构相关

关键词说明
Transformer基于Transformer架构的模型(如GPT、BERT)。
GPTGenerative Pre-trained Transformer,生成式预训练模型(如GPT-3、GPT-4)。
BERTBidirectional Encoder Representations from Transformers,双向编码模型。
T5Text-To-Text Transfer Transformer,文本到文本的统一框架。
LLaMALarge Language Model Meta AI,Meta开源的轻量级大模型。
PaLMPathways Language Model,Google开发的大规模语言模型。
MoEMixture of Experts,专家混合模型(如Switch Transformer)。

2. 模型用途相关

关键词说明
Instruct经过指令微调的模型,适合任务型对话或指令执行(如InstructGPT)。
Chat面向对话场景优化的模型(如ChatGPT、ChatGLM)。
Code面向代码生成或理解的模型(如Codex、CodeLlama)。
Math面向数学问题求解的模型(如Minerva、MathGPT)。
Medical面向医疗领域的模型(如Med-PaLM、BioGPT)。
Legal面向法律领域的模型(如LawGPT)。
Finance面向金融领域的模型(如FinGPT)。

3. 训练方法相关

关键词说明
Pre-trained预训练模型,通常需要进一步微调(如Pre-trained BERT)。
Fine-tuned经过微调的模型(如Fine-tuned GPT-3)。
Distill通过知识蒸馏得到的轻量级模型(如DistilBERT、DistilGPT)。
SFTSupervised Fine-Tuning,监督微调模型。
RLHFReinforcement Learning from Human Feedback,基于人类反馈的强化学习(如ChatGPT)。
LoRALow-Rank Adaptation,低秩适配微调方法。
Adapter使用适配器模块微调的模型。

4. 多模态相关

关键词说明
VLVision-Language,视觉-语言多模态模型(如VL-BERT、VL-T5)。
CLIPContrastive Language–Image Pretraining,图文对比预训练模型。
Flamingo多模态对话模型(如DeepMind Flamingo)。
DALL·E文本生成图像的模型(如DALL·E 2)。
Stable Diffusion文本生成图像的扩散模型。

5. 规模相关

关键词说明
Large强调模型规模较大(如Large Language Model, LLM)。
Small强调模型规模较小(如Small GPT)。
Mini更小规模的模型(如MiniGPT)。
Tiny极小型模型(如TinyBERT)。
7B/13B/70B模型参数量(如LLaMA-7B、DeepSeek-70B)。

6. 其他常见关键词

关键词说明
Embedding嵌入模型,用于生成向量表示(如Sentence-BERT)。
Zero-shot零样本学习能力(如GPT-3 Zero-shot)。
Few-shot少样本学习能力(如GPT-3 Few-shot)。
Multilingual多语言支持的模型(如mBERT、XLM-R)。
Open开源模型(如OpenLLaMA)。
Ultra强调性能或规模的极致(如UltraGPT)。
Neo新一代模型(如GPT-Neo)。
X强调扩展性或通用性(如T5-XL、GPT-X)。

模型参数

单位

单位说明
FP32(单精度浮点数)这是最常见的浮点数格式之一,每个数值占用32位(4字节)。它提供了一个较好的平衡,既能保证数值的精确度又能保持计算效率。在深度学习领域,FP32通常用于确保训练过程中的数值稳定性和模型的准确性。
FP16(半精度浮点数)每个数值占用16位(2字节),相比FP32,它可以减少一半的显存使用量,并且由于数据量减小,可以加快计算速度和提升硬件利用率。尽管它的数值范围和精度都比FP32低,但在很多情况下,特别是在深度学习推理阶段,使用FP16可以在几乎不损失模型准确性的前提下显著提高性能。
BF16(Brain Floating - Point 16)是Google提出的一种16位浮点数格式,旨在加速机器学习模型的训练和推理过程。BF16保留了与FP32相同的指数位宽,但减少了尾数的位宽,从而将数值表示压缩到16位。这使得BF16比FP32占用更少的存储空间和带宽,同时在许多情况下仍能保持相近的数值稳定性和准确性。
F8_E4M3(8位浮点数的一种)这是一个较为新颖的浮点数表示形式,其中“F8”代表8位浮点数,“E4M3”指的是这种格式的具体分配方式——指数部分占4位,尾数(也称作有效数字)部分占3位。相比于传统的FP32或FP16,F8_E4M3提供了更低的精度和更小的数值范围,但它极大地减少了存储需求和内存带宽消耗,这使得它在特定应用场景中非常有用,如在边缘设备上部署轻量级的神经网络模型或者进行大规模数据处理时优化性能和效率。不过,使用这种低精度格式可能会导致数值稳定性问题和精度下降,因此它的应用需要根据具体情况仔细评估。

FP16和BF16对比

在深度学习和机器学习领域,FP16(Half-precision floating-point format)和BF16(Brain Floating Point 16-bit)是两种常用的16位浮点数格式,它们各自有着不同的特性和应用场景。以下是对这两种数据类型的详细对比:

数值表示

单位说明
FP16这种格式使用5位表示指数,10位表示尾数(加上隐含的前导1位),因此它可以提供更高的精度,尤其是在表示较小数值时。然而,由于其指数部分较少,数值范围相对有限。
BF16相比之下,BF16保留了与FP32相同的8位指数宽度,但只有7位用于尾数(不包括隐含的前导1)。这意味着它能够表示更大范围的数值,但在精度上有所牺牲,特别是在小数值方面。

精度和数值范围

单位说明
FP16提供了较高的精度,特别是对于较小的数值。它的最小正数大约为
6.1×10−5 ,最大正数约为65,5049。
BF16虽然在小数值上的精度不如FP16,但它能表示比FP16更广范围的数值。BF16的动态范围与FP32相同,这使得它非常适合处理需要大范围数值的任务,例如神经网络中的梯度更新。

应用场景

单位说明
FP16适用于对精度要求较高的任务,尤其是那些涉及较小数值的操作。例如,在图像处理、科学计算以及某些深度学习模型中,FP16可以用来提高效率同时保持必要的精度。
BF16因其较大的数值范围,特别适合于大规模神经网络的训练,特别是在Google TPU和其他支持BF16的硬件上。BF16在这些环境下不仅能节省存储空间,还能提高计算速度。

硬件支持
|FP16|广泛支持,并已在大多数现代GPU上得到优化,特别是NVIDIA的Volta、Turing、Ampere系列GPU。|
|BF16|主要由Google的TPU提出并优化,并且在NVIDIA的A100 GPU中也提供了对BF16的支持。许多深度学习框架如TensorFlow和PyTorch也开始支持BF16格式。|

性能

单位说明
FP16通过混合精度训练可以在显存较小的GPU上训练更大的模型或在同一显存的GPU上运行更多的模型,同时提升训练速度。
BF16因为其较大的指数范围,BF16更适合深度学习中的大范围梯度计算,尤其在训练大规模神经网络时,性能可能优于FP16,特别是在使用专门优化BF16的硬件时。

综上所述,尽管FP16和BF16都是16位浮点数格式,它们在精度、数值范围和应用场景上有所不同。选择哪种格式取决于具体的应用需求、硬件支持以及对精度和数值范围的要求。对于大多数深度学习训练任务,尤其是大规模神经网络的训练,BF16由于其更大的数值范围和对硬件优化的优势,越来越成为主流选择8。而对于需要较高精度的小范围数值计算的任务,FP16可能是更好的选择。

常见存储格式

ONNX

Open Neural Network Exchange (ONNX) 是一种开放式的文件格式,用于表示机器学习模型。通过ONNX,模型可以在不同的框架之间进行转换和共享,提高了模型的可移植性和灵活性。

是一种中间表示格式,它的设计目的是为了促进不同框架之间的互操作性,允许开发者在不同的工具链之间共享和部署模型。

GGUF

是一种专为大规模语言模型设计的二进制格式,旨在提高加载效率和降低资源消耗,特别适合于边缘计算环境下的模型部署。

safetensor

SafeTensors 是由Hugging Face推出的一种安全、可靠且高效的机器学习模型存储格式。它的设计旨在简化和精简大型复杂张量的存储和加载过程,同时确保安全性。与传统的模型存储格式相比,SafeTensors不包含执行代码,因此在加载模型时无需进行反序列化操作,减少了潜在的安全风险

主要区别

用途: 虽然两者都可以用来存储模型参数,但GGUF更多地关注于大规模语言模型的优化存储和高效加载,而SafeTensors则更侧重于提供一个安全且高效的通用模型存储解决方案。

安全性: SafeTensors强调的是防止恶意代码执行的安全性,而GGUF虽然也考虑到了一些安全性问题,但其重点在于优化性能和易用性。

适用场景: GGUF更适合需要频繁加载不同模型的场景,特别是在边缘计算环境中;SafeTensors则适用于任何需要高性能和高安全性的深度学习模型部署场合。

相关文章:

大模型相关概念

文章目录 部署相关数据并行模型并行张量并行管道并行(流水线并行) 混合并行(数据并行模型并行)显存优化技术InfiniBand去中心化的All-Reduce操作软件 大模型命名**1. 模型架构相关****2. 模型用途相关****3. 训练方法相关****4. 多…...

【实用教程】在 Android Studio 中连接 MuMu 模拟器

MuMu 模拟器是一个非常流行的安卓模拟器,特别适合开发人员进行应用测试,我使用它的根本原因在于Android Studio自带的AVM实现是太难用了,但是Mumu模拟器启动以后不会自动被Android Studio识别到,但是其他模拟器都是能够正常被Andr…...

Linux 安装 Ollama

1、下载地址 Download Ollama on Linux 2、有网络直接执行 curl -fsSL https://ollama.com/install.sh | sh 命令 3、下载慢的解决方法 1、curl -fsSL https://ollama.com/install.sh -o ollama_install.sh 2、sed -i s|https://ollama.com/download/ollama-linux|https://…...

双亲委派(JVM)

1.双亲委派 在 Java 中,双薪委派通常是指双亲委派模型,它是 Java 类加载器的一种工作模式,用于确保类加载的安全性和一致性。以下是其相关介绍: 定义与作用 定义:双亲委派模型要求除了顶层的启动类加载器外&#xf…...

青少年编程与数学 02-009 Django 5 Web 编程 01课题、概要

青少年编程与数学 02-009 Django 5 Web 编程 01课题、概要 一、Django 5Django 5 的主要特性包括: 二、MVT模式三、官方网站四、内置功能数据库 ORM(对象关系映射)用户认证和授权表单处理模板引擎URL 路由缓存框架国际化和本地化安全性功能管…...

为AI聊天工具添加一个知识系统 之90 详细设计之31 Derivation 之5-- 神经元变元用它衍生神经网络

本文要点 要点 Derivation 神经元变元衍生模型( 衍生 神经网络) 整体上说,它( Derivation)自己充当 整体无意识原型anestor的代言--作为所有神经网络的 共生环境。Derivation 初始断言了 基于最古老的 自然和逻辑树…...

Centos挂载镜像制作本地yum源,并补装图形界面

内网环境centos7.9安装图形页面内网环境制作本地yum源 上传镜像到服务器目录 创建目录并挂载镜像 #创建目录 cd /mnt/ mkdir iso#挂载 mount -o loop ./CentOS-7-x86_64-DVD-2009.iso ./iso #前面镜像所在目录,后面所挂载得目录#检查 [rootlocalhost mnt]# df -h…...

【Python实战练习】Python类中的方法:形式与作用详解

文章目录 Python类中的方法:形式与作用详解1. 实例方法 (Instance Method)定义与使用作用2. 类方法 (Class Method)定义与使用作用3. 静态方法 (Static Method)定义与使用作用4. 特殊方法 (Magic/Dunder Methods)常见的特殊方法定义与使用作用5. 抽象方法 (Abstract Method)定…...

Idea 2024.3 使用CodeGPT插件整合Deepseek

哈喽,大家好,我是浮云,最近国产大模型Deepseek异常火爆,作为程序员我也试着玩了一下,首先作为简单的使用,大家进入官网,点击开始对话即可进行简单的聊天使用,点击获取手机app即可安装…...

神经网络常见激活函数 1-sigmoid函数

sigmoid 1 函数求导 sigmoid函数 σ ( x ) 1 1 e ( − x ) \sigma(x) \frac{1}{1e^{(-x)}} σ(x)1e(−x)1​ sigmoid函数求导 d d x σ ( x ) d d x ( 1 1 e − x ) e − x ( 1 e − x ) 2 ( 1 e − x ) − 1 ( 1 e − x ) 2 1 1 e − x − 1 ( 1 e − x ) 2 …...

Vue(6)

一.路由板块封装 (1)路由的封装抽离 目标:将路由板块抽离出来 好处:拆分板块,利于维护 // 路由的使用步骤 5 2 // 5个基础步骤 // 1. 下载 v3.6.5 // 2. 引入 // 3. 安装注册 Vue.use(Vue插件) // 4. 创建路由对象…...

深入理解进程优先级

目录 引言 一、进程优先级基础 1.1 什么是进程优先级? 1.2 优先级与系统性能 二、查看进程信息 2.1 使用ps -l命令 2.2 PRI与NI的数学关系 三、深入理解Nice值 3.1 Nice值的特点 3.2 调整优先级实践 四、进程特性全景图 五、优化实践建议 结语 引言 在操…...

机器学习 - 需要了解的条件概率、高斯分布、似然函数

似然函数是连接数据与参数的桥梁,通过“数据反推参数”的逆向思维,成为统计推断的核心工具。理解它的关键在于区分“参数固定时数据的概率”与“数据固定时参数的合理性”,这种视角转换是掌握现代统计学和机器学习的基础。 一、在学习似然函…...

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<7>

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 今天我们一起来学习转移表,回调函数,qsort… 目录 一、转移表1.1 定义与原理1.3…...

4、C#基于.net framework的应用开发实战编程 - 测试(四、一) - 编程手把手系列文章...

四、 测试; 四.一、调试; 开发完应用,就需要对应用进行测试,第一部就从调试开始,特别是一些重要的功能点,还有如果运行时有问题,也需要对应用进行调试,以找出问题。 1、 …...

逻辑回归:Sigmoid函数在分类问题中的应用

欢迎来到我的主页:【Echo-Nie】 本篇文章收录于专栏【机器学习】 1 什么是Sigmoid函数? Sigmoid函数(Logistic函数)是机器学习中最经典的激活函数之一,是一个在生物学中常见的S型函数,也称为S型生长曲线。…...

使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8

文章目录 1. 安装 SDKMAN!2. 查找可用的 Java 8 版本3. 安装 Java 84. 验证安装5. 切换 Java 版本(可选)6. 解决 ARM 架构兼容性问题总结 可以使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8。SDKMAN! 是一个强大…...

AUTOSAR汽车电子嵌入式编程精讲300篇-基于FPGA的CAN FD汽车总线数据交互系统设计

目录 前言 汽车总线以及发展趋势 汽车总线技术 汽车总线发展趋势 CAN FD总线国内外研究现状 2 系统方案及CAN FD协议分析 2.1系统控制方案设计 2.2 CAN FD总线帧结构分析 2.2.1数据帧分析 2.2.2远程帧分析 2.2.3过载帧分析 2.2.4错误帧分析 2.2.5帧间隔分析 2.3位…...

滴水逆向_程序实现弹窗修改OEP

作业: 几个很重要的注意事项。 1 我们模拟的是内核如何将一个文件硬盘中拉伸到内存中,但是我们做的仅仅是 模拟拉伸过程。也就是说其中的属性字段是无差别的拷贝的。 但是加载exe的时候 ,imagebase 是随机分配的。 我们打开内存中的exe&…...

HTTP报文格式

HTTP请求报文格式 1. 结构: [请求行] [请求头] [空行] [请求体] (可选)请求行:方法 URI HTTP版本 常见方法:GET(获取资源)、POST(提交数据)、PUT(替…...

pytest.fixture

pytest.fixture 是 pytest 测试框架中的一个非常强大的功能,它允许你在测试函数运行前后执行一些设置或清理代码。以下是关于 pytest.fixture 的详细介绍: 一、定义与用途 pytest.fixture 是一个装饰器,用于标记一个函数为 fixture。Fixture 函数中的代码可以在测试函数运…...

位运算算法篇:进入位运算的世界

位运算算法篇:进入位运算的世界 本篇文章是我们位运算算法篇的第一章,那么在我们是算法世界中,有那么多重要以及有趣的算法,比如深度优先搜索算法以及BFS以及动态规划算法等等,那么我们位运算在这些算法面前相比&#…...

Heterogeneous Graph Attention Network(HAN)

HAN WWW19 分类:异构图神经网络 元路径 (图片地址:异构图注意力网络(3) HAN_哔哩哔哩_bilibili) ​​ 如图所示,假如异构图如上所示。那么,按照MAM和MDM就可以生成不同的子图。这样,就可以生成MAM与MDM的一阶邻居…...

重学SpringBoot3-Spring WebFlux之SSE服务器发送事件

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞??收藏评论 Spring WebFlux之SSE服务器发送事件 1. 什么是 SSE?2. Spring Boot 3 响应式编程与 SSE 为什么选择响应式编程实现 SSE? 3. 实现 SSE 的基本步骤 3.1 创建 Spr…...

Java中实现定时锁屏的功能(可以指定时间执行)

Java中实现定时锁屏的功能(可以指定时间执行) 要在Java中实现定时锁屏的功能,可以使用java.util.Timer或java.util.concurrent.ScheduledExecutorService来调度任务,并通过调用操作系统的命令来执行锁屏。下面我将给出一个基本的…...

工作案例 - python绘制excell表中RSRP列的CDF图

什么是CDF图 CDF(Cumulative Distribution Function)就是累积分布函数,是概率密度函数的积分。CDF函数是一个在0到1之间的函数,描述了随机变量小于或等于一个特定值的概率。在可视化方面,CDF图表明了一个随机变量X小于…...

推理大模型DeepSeek迅速觉醒

随着人工智能技术的快速发展,DeepSeek作为一种创新的技术工具,正在重塑行业格局。本文将深入分析如何把握这一波由DeepSeek带来的流量红利,揭示其在市场洞察、技术创新和用户需求中的潜在机会,并提供实用策略帮助个人或企业快速融…...

Ubuntu22.04部署deepseek大模型

Ollama 官方版 Ollama 官方版: https://ollama.com/ 若你的显卡是在Linux上面 可以使用如下命令安装 curl -fsSL https://ollama.com/install.sh | shollama命令查看 rootheyu-virtual-machine:~# ollama -h Large language model runnerUsage:ollama [flags]ollama [comman…...

redis的数据结构介绍(string

redis是键值数据库,key一般是string类型,value的类型很多 string,hash,list,set,sortedset,geo,bitmap,hyperlog redis常用通用命令: keys: …...

QUIC 与 UDP 关系

QUIC协议是建立在UDP之上的,这意味着QUIC的数据包实际上是通过UDP传输的。QUIC的设计使其能够利用UDP的特性,同时在其上实现更复杂的功能。以下是QUIC如何体现出其基于UDP的特性,以及QUIC头部字段的详细介绍。 QUIC与UDP的关系 UDP封装:QUIC数据包被封装在UDP数据包中进行…...

webview_flutter的使用

目录 步骤示例代码 步骤 1.配置依赖。根目录下运行如下命令: flutter pub add webview_flutter 2.所需页面导入: import ‘package:webview_flutter/webview_flutter.dart’; 3.初始化WebViewController overridevoid initState() {super.initState();…...

Centos执行yum命令报错

错误描述 错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: Curl error (6): Couldn’t resolve host name for http://mirrorlist.centos.org/?release8&archx86_64&repoAppStream&infrastock [Could not resolve h…...

aio-pika 快速上手(Python 异步 RabbitMQ 客户端)

目录 简介官方文档如何使用 简介 aio-pika 是一个 Python 异步 RabbitMQ 客户端。5.0.0 以前 aio-pika 基于 pika 进行封装,5.0.0 及以后使用 aiormq 进行封装。 https://github.com/mosquito/aio-pikahttps://pypi.org/project/aio-pika/ pip install aio-pika官…...

AI安全最佳实践:AI应用开发安全评估矩阵(上)

生成式AI开发安全范围矩阵简介 生成式AI目前可以说是当下最热门的技术,吸引各大全球企业的关注,并在全球各行各业中带来浪潮般的编个。随时AI能力的飞跃,大语言模型LLM参数达到千亿级别,它和Transformer神经网络共同驱动了我们工…...

疯狂前端面试题(二)

一、Webpack的理解 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。Webpack 能够将各种资源(JavaScript、CSS、图片、字体等)视为模块,并通过依赖关系图将这些模块打包成一个或多个最终的输出文件(通常是一个或几个…...

深入探究 C++17 std::is_invocable

文章目录 一、引言二、std::is_invocable 概述代码示例输出结果 三、std::is_invocable 的工作原理简化实现示例 四、std::is_invocable 的相关变体1. std::is_invocable_r2. std::is_nothrow_invocable 和 std::is_nothrow_invocable_r 五、使用场景1. 模板元编程2. 泛型算法 …...

【R语言】卡方检验

一、定义 卡方检验是用来检验样本观测次数与理论或总体次数之间差异性的推断性统计方法,其原理是比较观测值与理论值之间的差异。两者之间的差异越小,检验的结果越不容易达到显著水平;反之,检验结果越可能达到显著水平。 二、用…...

DeepSeek LLM 论文解读:相信长期主义开源理念可扩展大语言模型(DeepSeek 吹响通用人工智能的号角)

论文链接:DeepSeek LLM: Scaling Open-Source Language Models with Longtermism(相信长期主义开源理念可扩展大语言模型) 目录 摘要一、数据处理(一)数据清洗与丰富(二)分词器与词汇设置 二、模…...

指针基础知识2

1. 指针运算 1.1 指针 - 整数 以数组举例:因为数组在内存中是连续存放的,只要知道第⼀个元素的地址,顺藤摸瓜就能找到后面的所有元素。这时就会用到指针加减整数。 1.2指针-指针 指针 - 指针可以得到两个指针之间的数据个数。但是&#xf…...

nginx的4层和7层配置证书

4层证书代理 # 定义上游服务器组 stream {upstream tcp-25510 {hash $remote_addr consistent;server ip:5510;}# 配置监听 25510 端口的服务器块server {listen 25510 ssl; # 监听 25510 端口并启用 SSL# 指定 SSL 证书和私钥ssl_certificate /etc/nginx/key/bundle.crt;ssl…...

【大数据技术】搭建完全分布式高可用大数据集群(Flume)

搭建完全分布式高可用大数据集群(Flume) apache-flume-1.11.0-bin.tar.gz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群 Flume 的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/software目录下,软件安装至/opt目…...

C++ 顺序表

顺序表的操作有以下: 1 顺序表的元素插入 给定一个索引和元素,这个位置往后的元素位置都要往后移动一次,元素插入的步骤有以下几步 (1)判断插入的位置是否合法,如果不合法则抛出异常 (2&…...

Python----Python高级(网络编程:网络基础:发展历程,IP地址,MAC地址,域名,端口,子网掩码,网关,URL,DHCP,交换机)

一、网络 早期的计算机程序都是在本机上运行的,数据存储和处理都在同一台机器上完成。随着技术的发展,人 们开始有了让计算机之间相互通信的需求。例如安装在个人计算机上的计算器或记事本应用,其运行环 境仅限于个人计算机内部。这种设置虽然…...

Spring Boot 的问题:“由于无须配置,报错时很难定位”,该怎么解决?

Spring Boot 的 "由于无须配置,报错时很难定位" 主要指的是: 传统 Spring 框架 需要大量 XML 或 Java 配置,开发者对应用的组件、Bean 加载情况有清晰的控制,出错时可以从配置入手排查。Spring Boot 采用自动配置&…...

基于javaweb的SpringBoot小区智慧园区管理系统(源码+文档+部署讲解)

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具适用功能说明 运行环境 Java≥8、MySQL≥5.7、Node.js≥14 开发工具 后端:eclipse/idea/myeclipse…...

一文解释nn、nn.Module与nn.functional的用法与区别

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 …...

vscode安装ESP-IDF

引言 ESP-IDF(Espressif IoT Development Framework)是乐鑫官方为其 ESP32、ESP32-S 系列等芯片提供的物联网开发框架。结合 Visual Studio Code(VSCode)这一强大的开源代码编辑器,能极大提升开发效率。本教程将详细介…...

springboot配置https

注意: 此配置只能本地环境或测试环境使用,生产环境使用https,应该配置nginx!请参考:使用certbot给nginx配置https-CSDN博客 1. 生成证书 使用JDK的keytool命令生成证书 注意:JDK版本需要和项目的JDK版本一…...

数据库的关系代数

关系就是表 属性(Attribute)是关系中的列.例如,关系 “学生” 中可能有属性 “学号”、“姓名”、“班级”。 元组(Tuple)是关系中的一行数据 1. 基本运算符 选择(Selection) 符号:σ 作用:从关…...

【服务器知识】如何在linux系统上搭建一个nfs

文章目录 NFS网络系统搭建**1. 准备工作****2. 服务器端配置****(1) 安装 NFS 服务****(2) 创建共享目录****(3) 配置共享规则****(4) 生效配置并启动服务****(5) 防火墙配置** **3. 客户端配置****(1) 安装 NFS 客户端工具****(2) 创建本地挂载点****(3) 挂载 NFS 共享目录***…...