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

【深度学习】DeepSeek模型介绍与部署

原文链接:DeepSeek-V3

1. 介绍

DeepSeek-V3,一个强大的混合专家 (MoE) 语言模型,拥有 671B 总参数,其中每个 token 激活 37B 参数。
为了实现高效推理和成本效益的训练,DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构,这些架构在 DeepSeek-V2 中得到了充分验证。
此外,DeepSeek-V3 首次提出了无辅助损失的负载平衡策略,并设置了多 token 预测训练目标,以增强性能。
我们在 14.8 万亿多样且高质量的 token 上预训练了 DeepSeek-V3,之后进行了监督微调和强化学习阶段,以充分发挥其能力。
全面评估表明,DeepSeek-V3 超越了其他开源模型,并且在性能上与领先的闭源模型相当。
尽管性能卓越,DeepSeek-V3 的完整训练仅需要 2.788M H800 GPU 小时。
此外,其训练过程非常稳定。在整个训练过程中,我们没有遇到任何无法恢复的损失峰值,也没有执行任何回滚操作。

2. 模型总结


架构:创新的负载平衡策略与训练目标

  • 在 DeepSeek-V2 高效架构的基础上,我们首次提出了一种无辅助损失的负载平衡策略,最小化了由于负载平衡而导致的性能下降。
  • 我们研究了多 token 预测(MTP)目标,并证明它对模型性能有益。
    它还可用于推理加速的推测解码。

预训练:追求极致的训练效率

  • 我们设计了一个 FP8 混合精度训练框架,并首次验证了在极大规模模型上使用 FP8 训练的可行性和有效性。
  • 通过算法、框架和硬件的共同设计,我们克服了跨节点 MoE 训练中的通信瓶颈,几乎实现了计算与通信的完全重叠。
    这大大提高了我们的训练效率,并减少了训练成本,使我们能够在不增加额外开销的情况下进一步扩展模型规模。
  • 在仅需 2.664M H800 GPU 小时的经济成本下,我们完成了 DeepSeek-V3 在 14.8T tokens 上的预训练,生产出当前最强大的开源基础模型。预训练后的后续训练阶段仅需 0.1M GPU 小时。

后训练:从 DeepSeek-R1 中蒸馏知识

  • 我们引入了一种创新的方法,从长链思维(CoT)模型中提取推理能力,特别是从 DeepSeek R1 系列模型中,将其蒸馏到标准 LLM,特别是 DeepSeek-V3。我们的流程巧妙地将 R1 的验证和反思模式整合到 DeepSeek-V3 中,显著提高了其推理能力。同时,我们也控制了 DeepSeek-V3 输出的风格和长度。

3. 模型下载

模型总参数激活参数上下文长度下载
DeepSeek-V3-Base671B37B128K🤗 Hugging Face
DeepSeek-V3671B37B128K🤗 Hugging Face

[!NOTE]
DeepSeek-V3 模型在 Hugging Face 上的总大小为 685B,其中包含 671B 的主模型权重和 14B 的多 token 预测(MTP)模块权重。

为了确保最佳的性能和灵活性,我们与开源社区和硬件供应商合作,提供了多种方式以在本地运行模型。有关详细的步骤,请参阅第 6 节:如何在本地运行。

对于希望深入了解的开发者,我们建议查看 README_WEIGHTS.md,了解有关主模型权重和多 token 预测(MTP)模块的更多细节。请注意,MTP 支持目前仍在社区开发中,我们欢迎您的贡献和反馈。

4. 评估结果

基础模型

标准基准测试
基准(指标)样本数量DeepSeek-V2Qwen2.5 72BLLaMA3.1 405BDeepSeek-V3
架构-MoEDenseDenseMoE
激活参数-21B72B405B37B
总参数-236B72B405B671B
英文Pile-test (BPB)-0.6060.6380.5420.548
BBH (EM)3-shot78.879.882.987.5
MMLU (Acc.)5-shot78.485.084.487.1
MMLU-Redux (Acc.)5-shot75.683.281.386.2
MMLU-Pro (Acc.)5-shot51.458.352.864.4
DROP (F1)3-shot80.480.686.089.0
ARC-Easy (Acc.)25-shot97.698.498.498.9
ARC-Challenge (Acc.)25-shot92.294.595.395.3
HellaSwag (Acc.)10-shot87.184.889.288.9
PIQA (Acc.)0-shot83.982.685.984.7
WinoGrande (Acc.)5-shot86.382.385.284.9
RACE-Middle (Acc.)5-shot73.168.174.267.1
RACE-High (Acc.)5-shot52.650.356.851.3
TriviaQA (EM)5-shot80.071.982.782.9
NaturalQuestions (EM)5-shot38.633.241.540.0
AGIEval (Acc.)0-shot57.575.860.679.6
编程HumanEval (Pass@1)0-shot43.353.054.965.2
MBPP (Pass@1)3-shot65.072.668.475.4
LiveCodeBench-Base (Pass@1)3-shot11.612.915.519.4
CRUXEval-I (Acc.)2-shot52.559.158.567.3
CRUXEval-O (Acc.)2-shot49.859.959.969.8
数学GSM8K (EM)8-shot81.688.383.589.3
MATH (EM)4-shot43.454.449.061.6
MGSM (EM)8-shot63.676.269.979.8
CMath (EM)3-shot78.784.577.390.7
中文CLUEWSC (EM)5-shot82.082.583.082.7
C-Eval (Acc.)5-shot81.489.272.590.1
CMMLU (Acc.)5-shot84.089.573.788.8
CMRC (EM)1-shot77.475.876.076.3
C3 (Acc.)0-shot77.476.779.778.6
CCPM (Acc.)0-shot93.088.578.692.0
多语言MMMLU-non-English (Acc.)5-shot64.074.873.879.4

[!NOTE]
最佳结果用粗体显示。得分差距不超过 0.3 的被认为在同一水平上。DeepSeek-V3 在大多数基准测试中都取得了最佳表现,特别是在数学和编程任务上。
有关更多评估详情,请查阅我们的论文。

上下文窗口

在“Needle In A Haystack”(NIAH)测试中的评估结果。DeepSeek-V3 在所有上下文窗口长度(最多 128K)上表现良好。

聊天模型

标准基准(大于 67B 的模型)
基准(指标)DeepSeek V2-0506DeepSeek V2.5-0905Qwen2.5 72B-Inst.Llama3.1 405B-Inst.Claude-3.5-Sonnet-1022GPT-4o 0513DeepSeek V3
架构MoEMoEDenseDense--MoE
激活参数21B21B72B405B--37B
总参数236B236B72B405B--671B
英文MMLU (EM)78.280.685.388.688.387.288.5
MMLU-Redux (EM)77.980.385.686.288.988.089.1
MMLU-Pro (EM)58.566.271.673.378.072.675.9
DROP (3-shot F1)83.087.876.788.788.383.791.6
IF-Eval (Prompt Strict)57.780.684.186.086.584.386.1
GPQA-Diamond (Pass@1)35.341.349.051.165.049.959.1
SimpleQA (Correct)9.010.29.117.128.438.224.9
FRAMES (Acc.)66.965.469.870.072.580.573.3
LongBench v2 (Acc.)31.635.439.436.141.048.148.7
编程HumanEval-Mul (Pass@1)69.377.477.377.281.780.582.6
LiveCodeBench (Pass@1-COT)18.829.231.128.436.333.440.5
LiveCodeBench (Pass@1)20.328.428.730.132.834.237.6
Codeforces (Percentile)17.535.624.825.320.323.651.6
SWE Verified (Resolved)-22.623.824.550.838.842.0
Aider-Edit (Acc.)60.371.665.463.984.272.979.7
Aider-Polyglot (Acc.)-18.27.65.845.316.049.6
数学AIME 2024 (Pass@1)4.616.723.323.316.09.339.2
MATH-500 (EM)56.374.780.073.878.374.690.2
CNMO 2024 (Pass@1)2.810.815.96.813.110.843.2
中文CLUEWSC (EM)89.990.491.484.785.487.990.9
C-Eval (EM)78.679.586.161.576.776.086.5
C-SimpleQA (Correct)48.554.148.450.451.359.364.8

[!NOTE]
所有模型均在限制输出长度为 8K 的配置下进行评估。包含不到 1000 个样本的基准测试进行了多次测试,使用不同的温度设置以得出可靠的最终结果。DeepSeek-V3 是表现最好的开源模型,也在与前沿闭源模型的性能对比中表现出色。

开放式生成评估
模型Arena-HardAlpacaEval 2.0
DeepSeek-V2.5-090576.250.5
Qwen2.5-72B-Instruct81.249.1
LLaMA-3.1 405B69.340.5
GPT-4o-051380.451.1
Claude-Sonnet-3.5-102285.252.0
DeepSeek-V385.570.0

[!NOTE]
英文开放式对话评估。对于 AlpacaEval 2.0,我们使用长度控制的胜率作为评估指标。

5. 聊天网站与 API 平台

你可以在 DeepSeek 官方网站与 DeepSeek-V3 进行聊天:chat.deepseek.com

我们还在 DeepSeek 平台提供了兼容 OpenAI 的 API:platform.deepseek.com

6. 如何在本地运行

DeepSeek-V3 可以通过以下硬件和开源社区软件在本地部署:

  1. DeepSeek-Infer Demo:我们提供了一个简单且轻量的演示,支持 FP8 和 BF16 推理。
  2. SGLang:完全支持 DeepSeek-V3 模型,支持 BF16 和 FP8 推理模式,且多 token 预测 即将推出。
  3. LMDeploy:支持本地和云部署的高效 FP8 和 BF16 推理。
  4. TensorRT-LLM:目前支持 BF16 推理和 INT4/8 量化,FP8 支持即将推出。
  5. vLLM:支持 DeepSeek-V3 模型,支持 FP8 和 BF16 模式的张量并行和流水线并行。
  6. AMD GPU:通过 SGLang 在 AMD GPU 上运行 DeepSeek-V3 模型,支持 BF16 和 FP8 模式。
  7. 华为 Ascend NPU:支持在华为 Ascend 设备上运行 DeepSeek-V3。

由于 FP8 训练已在我们的框架中原生采用,因此我们仅提供 FP8 权重。如果需要 BF16 权重进行实验,您可以使用提供的转换脚本进行转换。

以下是将 FP8 权重转换为 BF16 的示例:

cd inference
python fp8_cast_bf16.py --input-fp8-hf-path /path/to/fp8_weights --output-bf16-hf-path /path/to/bf16_weights

[!NOTE]
Hugging Face 的 Transformers 目前尚不直接支持。

6.1 使用 DeepSeek-Infer 演示进行推理(仅为示例)

系统要求

[!NOTE]
仅支持 Linux 和 Python 3.10,Mac 和 Windows 不支持。

依赖项:

torch==2.4.1
triton==3.0.0
transformers==4.46.3
safetensors==0.4.5
模型权重和演示代码准备

首先,克隆我们的 DeepSeek-V3 GitHub 仓库:

git clone https://github.com/deepseek-ai/DeepSeek-V3.git

进入 inference 文件夹并安装 requirements.txt 中列出的依赖项。最简单的方式是使用 condauv 等包管理工具创建新的虚拟环境并安装依赖。

cd DeepSeek-V3/inference
pip install -r requirements.txt

从 Hugging Face 下载模型权重,并将其放入 /path/to/DeepSeek-V3 文件夹中。

模型权重转换

将 Hugging Face 模型权重转换为特定格式:

python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16
运行

然后您可以与 DeepSeek-V3 进行对话:

torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200

或批量推理给定的文件:

torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --input-file $FILE

6.2 使用 SGLang 进行推理(推荐)

SGLang 目前支持 MLA 优化,DP Attention,FP8(W8A8),FP8 KV 缓存和 Torch Compile,提供了业内领先的延迟和吞吐量性能。

特别是,SGLang v0.4.1 完全支持在 NVIDIA 和 AMD GPU 上运行 DeepSeek-V3,使其成为一个高度通用且强大的解决方案。

SGLang 还支持 多节点张量并行,使您能够在多台网络连接的机器上运行此模型。

多 token 预测(MTP)正在开发中,进展可以通过 优化计划进行跟踪。

以下是 SGLang 团队提供的启动说明:https://github.com/sgl-project/sglang/tree/main/benchmark/deepseek_v3

6.3 使用 LMDeploy 进行推理(推荐)

LMDeploy,一个灵活且高效的推理和服务框架,现已支持 DeepSeek-V3。它提供了离线管道处理和在线部署功能,能够无缝集成 PyTorch 基础的工作流。

有关如何使用 LMDeploy 运行 DeepSeek-V3 的详细步骤,请参阅:https://github.com/InternLM/lmdeploy/issues/2960

6.4 使用 TRT-LLM 进行推理(推荐)

TensorRT-LLM 现在支持 DeepSeek-V3 模型,提供 BF16 和 INT4/INT8 权重选项。目前 FP8 支持正在进行中,将很快发布。您可以通过以下链接访问专为 DeepSeek-V3 支持的 TRTLLM 自定义分支,直接体验新功能:https://github.com/NVIDIA/TensorRT-LLM/tree/deepseek/examples/deepseek_v3

6.5 使用 vLLM 进行推理(推荐)

vLLM v0.6.6 支持在 NVIDIA 和 AMD GPU 上运行 DeepSeek-V3 推理,支持 FP8 和 BF16 模式。除了标准技术,vLLM 还提供了 流水线并行,使您能够在多台通过网络连接的机器上运行此模型。有关详细指导,请参阅 vLLM 指南。您还可以关注 增强计划。

6.6 使用 AMD GPU 进行推理(推荐)

与 AMD 团队的合作使我们实现了对 AMD GPU 的首日支持,完全兼容 FP8 和 BF16 精度。有关详细指导,请参阅 SGLang 指南。

6.7 使用华为 Ascend NPU 进行推理(推荐)

华为 Ascend 社区的 MindIE 框架已成功适配 DeepSeek-V3 的 BF16 版本。有关 Ascend NPU 的逐步指导,请参阅 此处的说明。

7. 许可

此代码库采用 MIT 许可协议。DeepSeek-V3 Base/Chat 模型的使用受 模型许可协议 的约束。DeepSeek-V3 系列(包括 Base 和 Chat)支持商业用途。

8. 引用

@misc{deepseekai2024deepseekv3technicalreport,title={DeepSeek-V3 Technical Report}, author={DeepSeek-AI and Aixin Liu and Bei Feng and Bing Xue and Bingxuan Wang and Bochao Wu and Chengda Lu and Chenggang Zhao and Chengqi Deng and Chenyu Zhang and Chong Ruan and Damai Dai and Daya Guo and Dejian Yang and Deli Chen and Dongjie Ji and Erhang Li and Fangyun Lin and Fucong Dai and Fuli Luo and Guangbo Hao and Guanting Chen and Guowei Li and H. Zhang and Han Bao and Hanwei Xu and Haocheng Wang and Haowei Zhang and Honghui Ding and Huajian Xin and Huazuo Gao and Hui Li and Hui Qu and J. L. Cai and Jian Liang and Jianzhong Guo and Jiaqi Ni and Jiashi Li and Jiawei Wang and Jin Chen and Jingchang Chen and Jingyang Yuan and Junjie Qiu and Junlong Li and Junxiao Song and Kai Dong and Kai Hu and Kaige Gao and Kang Guan and Kexin Huang and Kuai Yu and Lean Wang and Lecong Zhang and Lei Xu and Leyi Xia and Liang Zhao and Litong Wang and Liyue Zhang and Meng Li and Miaojun Wang and Mingchuan Zhang and Minghua Zhang and Minghui Tang and Mingming Li and Ning Tian and Panpan Huang and Peiyi Wang and Peng Zhang and Qiancheng Wang and Qihao Zhu and Qinyu Chen and Qiushi Du and R. J. Chen and R. L. Jin and Ruiqi Ge and Ruisong Zhang and Ruizhe Pan and Runji Wang and Runxin Xu and Ruoyu Zhang and Ruyi Chen and S. S. Li and Shanghao Lu and Shangyan Zhou and Shanhuang Chen and Shaoqing Wu and Shengfeng Ye and Shengfeng Ye and Shirong Ma and Shiyu Wang and Shuang Zhou and Shuiping Yu and Shunfeng Zhou and Shuting Pan and T. Wang and Tao Yun and Tian Pei and Tianyu Sun and W. L. Xiao and Wangding Zeng and Wanjia Zhao and Wei An and Wen Liu and Wenfeng Liang and Wenjun Gao and Wenqin Yu and Wentao Zhang and X. Q. Li and Xiangyue Jin and Xianzu Wang and Xiao Bi and Xiaodong Liu and Xiaohan Wang and Xiaojin Shen and Xiaokang Chen and Xiaokang Zhang and Xiaosha Chen and Xiaotao Nie and Xiaowen Sun and Xiaoxiang Wang and Xin Cheng and Xin Liu and Xin Xie and Xingchao Liu and Xingkai Yu and Xinnan Song and Xinxia Shan and Xinyi Zhou and Xinyu Yang and Xinyuan Li and Xuecheng Su and Xuheng Lin and Y. K. Li and Y. Q. Wang and Y. X. Wei and Y. X. Zhu and Yang Zhang and Yanhong Xu and Yanhong Xu and Yanping Huang and Yao Li and Yao Zhao and Yaofeng Sun and Yaohui Li and Yaohui Wang and Yi Yu and Yi Zheng and Yichao Zhang and Yifan Shi and Yiliang Xiong and Ying He and Ying Tang and Yishi Piao and Yisong Wang and Yixuan Tan and Yiyang Ma and Yiyuan Liu and Yongqiang Guo and Yu Wu and Yuan Ou and Yuchen Zhu and Yuduan Wang and Yue Gong and Yuheng Zou and Yujia He and Yukun Zha and Yunfan Xiong and Yunxian Ma and Yuting Yan and Yuxiang Luo and Yuxiang You and Yuxuan Liu and Yuyang Zhou and Z. F. Wu and Z. Z. Ren and Zehui Ren and Zhangli Sha and Zhe Fu and Zhean Xu and Zhen Huang and Zhen Zhang and Zhenda Xie and Zhengyan Zhang and Zhewen Hao and Zhibin Gou and Zhicheng Ma and Zhigang Yan and Zhihong Shao and Zhipeng Xu and Zhiyu Wu and Zhongyu Zhang and Zhuoshu Li and Zihui Gu and Zijia Zhu and Zijun Liu and Zilin Li and Ziwei Xie and Ziyang Song and Ziyi Gao and Zizheng Pan},year={2024},eprint={2412.19437},archivePrefix={arXiv},primaryClass={cs.CL},url={https://arxiv.org/abs/2412.19437}, 
}

9. 联系方式

如果您有任何问题,请提交问题或通过 service@deepseek.com 联系我们。

相关文章:

【深度学习】DeepSeek模型介绍与部署

原文链接:DeepSeek-V3 1. 介绍 DeepSeek-V3,一个强大的混合专家 (MoE) 语言模型,拥有 671B 总参数,其中每个 token 激活 37B 参数。 为了实现高效推理和成本效益的训练,DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 De…...

使用SpringBoot发送邮件|解决了部署时连接超时的bug|网易163|2025

使用SpringBoot发送邮件 文章目录 使用SpringBoot发送邮件1. 获取网易邮箱服务的授权码2. 初始化项目maven部分web部分 3. 发送邮件填写配置EmailSendService [已解决]部署时连接超时附:Docker脚本Dockerfile创建镜像启动容器 1. 获取网易邮箱服务的授权码 温馨提示…...

【工具篇】深度揭秘 Midjourney:开启 AI 图像创作新时代

家人们,今天咱必须好好唠唠 Midjourney 这个在 AI 图像生成领域超火的工具!现在 AI 技术发展得那叫一个快,各种工具层出不穷,Midjourney 绝对是其中的明星产品。不管你是专业的设计师、插画师,还是像咱这种对艺术创作有点小兴趣的小白,Midjourney 都能给你带来超多惊喜,…...

构成正方形的数量:算法深度剖析与实践

目录 引言算法核心概念 定义正方形的构成条件数据结构与输入形式算法数学原理 几何关系的数学表达坐标运算与判定逻辑Python 实现 代码展示代码解析Python 实现的优势与局限C 语言实现 代码展示代码解析C 语言实现的性能特点性能分析与优化 性能分析 时间复杂度空间复杂度优化思…...

Spring设计模式(9种)(详细篇)

总体分为三大类: 创建型模式:工厂方法模式、单例模式。 结构型模式:适配器模式、代理模式、装饰器模式。 行为型模式:观察者模式、策略模式、模板方法模式。 一、简单工厂模式(Simple Factory) 概述&…...

使用Express.js和SQLite3构建简单TODO应用的后端API

使用Express.js和SQLite3构建简单TODO应用的后端API 引言环境准备代码解析1. 导入必要的模块2. 创建Express应用实例3. 设置数据库连接4. 初始化数据库表5. 配置中间件6. 定义数据接口7. 定义路由7.1 获取所有TODO项7.2 创建TODO项7.3 更新TODO项7.4 删除TODO项 8. 启动服务器 …...

2025年2月6日(anaconda cuda 学习 基本命令)

查看电脑的显卡型号是否支持CUDA的安装 https://developer.nvidia.com/zh-cn/cuda-gpus 查看可以安装的CUDA版本 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html CUDA安装地址 https://developer.nvidia.com/cuda-toolkit-archive Anaconda下载地址 htt…...

大数据方向知识图谱及发展前景分析

目录 一、知识体系 二、大数据领域前景分析: 1. 市场需求 2. 技术趋势 3. 职业发展路径 4. 学习路线建议 5. 推荐认证体系 一、知识体系 大数据知识体系 ├── 基础理论 │ ├── 数学基础:概率统计、线性代数、离散数学 │ ├── 计算机基…...

Docker深度解析:安装各大环境

安装 Nginx 实现负载均衡: 挂载 nginx html 文件: 创建过载目录: mkdir -p /data/nginx/{conf,conf.d,html,logs} 注意:在挂载前需要对 conf/nginx.conf 文件进行编写 worker_processes 1;events {worker_connections 1024; …...

Verilog语言学习总结

Verilog语言学习! 目录 文章目录 前言 一、Verilog语言是什么? 1.1 Verilog简介 1.2 Verilog 和 C 的区别 1.3 Verilog 学习 二、Verilog基础知识 2.1 Verilog 的逻辑值 2.2 数字进制 2.3 Verilog标识符 2.4 Verilog 的数据类型 2.4.1 寄存器类型 2.4.2 …...

K8S Deployment 实现 蓝绿 发布

一、何为蓝绿发布 蓝绿发布(Blue - Green Deployment)是一种软件部署策略,旨在最大程度减少应用程序停机时间,确保新老版本系统平稳过渡。以下为详细介绍: 1.1、基本概念 存在两个完全相同的生产环境,通…...

2025新鲜出炉--前端面试题(一)

文章目录 1. vue3有用过吗, 和vue2之间有哪些区别2. vue-router有几种路由, 分别怎么实现3. webpack和rollup这两个什么区别, 你会怎么选择4. 你能简单介绍一下webpack项目的构建流程吗5. webpack平时有手写过loader和plugin吗6. webpack这块你平时做过哪些优化吗?7…...

【ArcGIS Pro 简介1】

ArcGIS Pro 是由 Esri (Environmental Systems Research Institute)公司开发的下一代桌面地理信息系统(GIS)软件,是传统 ArcMap 的现代化替代产品。它结合了强大的空间分析能力、直观的用户界面和先进的三维可视化技术…...

CentOS 6.5编译Rsyslog 8.1903.0

个人博客地址:CentOS 6.5编译Rsyslog 8.1903.0 | 一张假钞的真实世界 个人很早之前的博文,迁移至此作为历史记录。 源码下载参考我的另外一片博文:CentOS 7.3 编译 Rsyslog 8.1903.0。 本篇博文从创建构建环境开始填坑/(ㄒoㄒ)/~~。通过上…...

SQLAlchemy-2.0中模型定义和alembic的数据库迁移工具

SQLAlchemy-2.0中模型定义和alembic的数据库迁移工具 一、SQLAIchemy的介绍二、数据库引擎1、支持的数据库1.1、sqlite数据库1.2、MySQL数据库1.3、数据库引擎的参数 三、定义模型类1、定义模型2、engine负责数据库迁移 四、alembic数据库迁移⼯具1、安装alembic2、初始化alemb…...

两种文件类型(pdf/图片)打印A4半张纸方法

环境:windows10、Adobe Reader XI v11.0.23 Pdf: 1.把内容由横排变为纵排: 2.点击打印按钮: 3.选择打印页范围和多页: 4.内容打印在纸张上部 图片: 1.右键图片点击打印: 2.选择打印类型: 3.打印配置&am…...

【React】合成事件语法

React 合成事件是 React 为了处理浏览器之间的事件差异而提供的一种跨浏览器的事件系统。它封装了原生的 DOM 事件,提供了一致的事件处理机制。 合成事件与原生事件的区别: 合成事件是 React 自己实现的,封装了原生事件。合成事件依然可以通…...

深入解析:如何利用 Python 爬虫获取商品 SKU 详细信息

在电商领域,SKU(Stock Keeping Unit,库存单位)详细信息是电商运营的核心数据之一。它不仅包含了商品的规格、价格、库存等关键信息,还直接影响到库存管理、价格策略和市场分析等多个方面。本文将详细介绍如何利用 Pyth…...

Unity 加载OSGB(webgl直接加载,无需转换格式!)

Unity webgl加载倾斜摄影数据 前言效果图后续不足 前言 Unity加载倾斜摄影数据,有很多的插件方便好用,但是发布到网页端均失败,因为webgl 的限制,IO读取失效。 前不久发现一个开源项目: UnityOSGB-main 通过两种方式在 Unity 中…...

Maven架构项目管理工具

1.1什么是Maven 翻译为“专家”,“内行”Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。什么是理想的项目构建? 高度自动化,跨平台,可重用的组件,标准化的 什么…...

【漫画机器学习】083.安斯库姆四重奏(Anscombe‘s Quartet)

安斯库姆四重奏(Anscombes Quartet) 1. 什么是安斯库姆四重奏? 安斯库姆四重奏(Anscombes Quartet)是一组由统计学家弗朗西斯安斯库姆(Francis Anscombe) 在 1973 年 提出的 四组数据集。它们…...

【梦想终会实现】Linux驱动学习5

加油加油坚持住! 1、 Linux驱动模型:驱动模型即将各模型中共有的部分抽象成C结构体。Linux2.4版本前无驱动模型的概念,每个驱动写的代码因人而异,随后为规范书写方式,发明了驱动模型,即提取公共信息组成一…...

QT修仙之路1-1--遇见QT

文章目录 遇见QT二、QT概述2.1 定义与功能2.2 跨平台特性2.3 优点汇总 三、软件安装四、QT工具介绍(重要)4.1 Assistant4.2 Designer4.3 uic.exe4.4 moc.exe4.5 rcc.exe4.6 qmake4.7 QTcreater 五、QT工程项目解析(作业)5.1 配置文件(.pro)5.2 头文件&am…...

【实战篇】Android安卓本地离线实现视频检测人脸

实战篇Android安卓本地离线实现视频检测人脸 引言项目概述核心代码类介绍人脸检测流程项目地址总结 引言 在当今数字化时代,人脸识别技术已经广泛应用于各个领域,如安防监控、门禁系统、移动支付等。本文将以第三视角详细讲解如何基于bifan-wei-Face/De…...

【图像处理】- 基本图像操作

基本图像操作详解 基本图像操作是图像处理的基础,涵盖了对图像进行简单但重要的变换。以下是几种常见的基本图像操作及其详细说明: 1. 裁剪 (Cropping) 描述:从原始图像中提取一个矩形区域。 实现方法: 使用图像的坐标系指定…...

代码随想录算法训练营| 二叉树总结

代码随想录 二叉树的理论基础:二叉树种类、存储方式、遍历方式、定义方式 二叉树遍历:深度优先和广度优先 二叉树属性:对称、深度、节点、平衡、路径、回溯 修改与构造:反转、构造、合并 涉及到二叉树的构造,无论普…...

Sentinel的安装和做限流的使用

一、安装 Release v1.8.3 alibaba/Sentinel GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Release v1.8.3 alibaba/Sentinelhttps://github.com/alibaba/Senti…...

八、Spring Boot 日志详解

目录 一、日志的用途 二、日志使用 2.1 打印日志 2.1.1 在程序中获取日志对象 2.1.2 使用日志对象打印日志 2.2、日志框架介绍 2.2.1 门面模式(外观模式) 2.2.2 门面模式的实现 2.2.3 SLF4J 框架介绍 2.3 日志格式的说明 2.4 日志级别 2.4.1 日志级别的分类 2.4.2…...

vue2:如何动态控制el-form-item之间的行间距

需求 某页面有查看和编辑两种状态: 编辑: 查看: 可以看到,查看时,行间距太大导致页面不紧凑,所以希望缩小查看是的行间距。 行间距设置 行间距通常是通过 CSS 的 margin 或 padding 属性来控制的。在 Element UI 的样式表中,.el-form-item 的下边距(margin-bottom)…...

智能门铃市场:开启智能家居新时代

在科技日新月异的今天,智能家居产品正以前所未有的速度融入我们的生活,而智能门铃作为其中的重要一员,不仅为我们的家居生活带来了极大的便利,更在安全方面提供了坚实的保障。它就像一位忠诚的守门人,无论白天黑夜&…...

C基础寒假练习(6)

一、终端输入行数&#xff0c;打印倒金字塔 #include <stdio.h> int main() {int rows;printf("请输入倒金字塔的行数: ");scanf("%d", &rows);for (int i rows; i > 0; i--) {// 打印空格for (int j 0; j < rows - i; j) {printf(&qu…...

【深度学习】基于MXNet的多层感知机的实现

多层感知机 结构组成 大致由三层组成&#xff1a;输入层-隐藏层-输出层&#xff0c;其中隐藏层大于等于一层 其中&#xff0c;隐藏层和输出层都是全连接 隐藏层的层数和神经元个数也是超参数 多层隐藏层&#xff0c;在本质上仍等价于单层神经网络&#xff08;可从输出方程…...

Mac 终端命令大全

—目录操作— ꔷ mkdir 创建一个目录 mkdir dirname ꔷ rmdir 删除一个目录 rmdir dirname ꔷ mvdir 移动或重命名一个目录 mvdir dir1 dir2 ꔷ cd 改变当前目录 cd dirname ꔷ pwd 显示当前目录的路径名 pwd ꔷ ls 显示当前目录的内容 ls -la ꔷ dircmp 比较两个目录的内容 di…...

【蓝桥杯嵌入式】2_LED

1、电路图 74HC573是八位锁存器&#xff0c;当控制端LE脚为高电平时&#xff0c;芯片“导通”&#xff0c;LE为低电平时芯片“截止”即将输出状态“锁存”&#xff0c;led此时不会改变状态&#xff0c;所以可通过led对应的八个引脚的电平来控制led的状态&#xff0c;原理图分析…...

微信小程序~电器维修系统小程序

博主介绍&#xff1a;✌程序猿徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

链式结构二叉树(递归暴力美学)

文章目录 1. 链式结构二叉树1.1 二叉树创建 2. 前中后序遍历2.1 遍历规则2.2 代码实现图文理解 3. 结点个数以及高度等二叉树结点个数正确做法&#xff1a; 4. 层序遍历5. 判断是否完全二叉树 1. 链式结构二叉树 完成了顺序结构二叉树的代码实现&#xff0c;可以知道其底层结构…...

gc buffer busy acquire导致的重大数据库性能故障

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验 Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯…...

Unity中Spine骨骼动画完全指南:从API详解到避坑实战

Unity中Spine骨骼动画完全指南&#xff1a;从API详解到避坑实战 一、为什么要选择Spine&#xff1f; Spine作为专业的2D骨骼动画工具&#xff0c;相比传统帧动画可节省90%资源量。在Unity中的典型应用场景包括&#xff1a; 角色换装系统&#xff08;通过插槽替换部件&#xf…...

面经-C语言——堆和栈的区别,引用和指针区别,Linux的常用指令,RS232和RS485,TCP连接建立与断开

面经-C语言——堆和栈的区别&#xff0c;引用和指针区别&#xff0c;Linux的常用指令,RS232和RS485,TCP连接建立与断开 堆(Heap)和栈(Stack)的详细比较引用和指针区别对比表&#xff1a;Linux的常用指令RS232和RS485的详细比较&#xff1a;TCP连接建立与断开三次握手&#xff0…...

(2024|Nature Medicine,生物医学 AI,BiomedGPT)面向多种生物医学任务的通用视觉-语言基础模型

BiomedGPT: A generalist vision–language foundation model for diverse biomedical tasks 目录 1. 摘要 2. 引言 3. 相关研究 3.1 基础模型与通用生物医学 AI 3.2 生物医学 AI 的局限性 3.3 BiomedGPT 的创新点 4. 方法 4.1 架构及表示 4.1.1 模型架构选择 4.1.2 …...

python代码

python\main_script.py from multiprocessing import Process import subprocessdef call_script(args):# 创建一个新的进程来运行script_to_call.pyprocess Process(targetrun_script, args(args[0], args[1]))process.start()process2 Process(targetrun_script, args(arg…...

mongodb 使用内存过大分析

ps aux 内存使用 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head -10swap 使用 for i in $(ls /proc | grep "^[0-9]" | awk $0>100); do awk /Swap:/{aa$2}END{print "$i",a/1024"M"} /proc/$i/smaps;done| sort -k2nr | headmon…...

服务器虚拟化技术深度解析:原理、实践与未来趋势

文章目录 引言&#xff1a;数字化转型的核心引擎第一章 服务器虚拟化技术演进史1.1 虚拟化技术发展脉络1.2 虚拟化技术演进图谱 第二章 虚拟化核心技术解析2.1 Hypervisor架构类型2.1.1 Type 1 裸金属架构2.1.2 Type 2 宿主型架构 2.2 虚拟化实现方式对比2.3 关键技术创新2.3.1…...

C语言常见概念

目录 第一个C语言程序 main函数 写法&#xff1a; printf和库函数 printf()函数 库函数 关键字 字符和ASCII码表 字符串和\0 转义字符 语句 注释 注释的两种形式 第一个C语言程序 #include<stdio.h>//第一个c语言程序 int main() {printf("Hello World…...

sql字符串函数及字符拼接函数

concat(str1,str2)函数&#xff1a;拼接字符串 UPPER(str)&#xff1a;字符串变成大写 LOWER(str)&#xff1a;字符串变小写 LENGTH(str)&#xff1a;获取字符串的长度 left(str,len)&#xff1a;获取字符串左边len个字符 right(str,len)&#xff1a;获取字符串右边len个字符 s…...

Qt的QTableWidget类的声明定义和使用

QTableWidget类的声明定义 QTableWidget 是 Qt 框架中的一个类&#xff0c;它继承自 QAbstractItemView 并提供了用于显示和操作二维表格数据的接口。这个类不是由用户直接声明的&#xff0c;而是由 Qt 库提供的。你可以在你的 Qt 应用程序中通过包含相应的头文件来使用它。 …...

【kafka实战】06 kafkaTemplate java代码使用示例

在 Spring Boot 中使用 KafkaTemplate 可以方便地向 Kafka 发送消息。下面为你详细介绍使用步骤和示例代码。 1. 创建 Spring Boot 项目 你可以使用 Spring Initializr&#xff08;https://start.spring.io/ &#xff09;来创建一个新的 Spring Boot 项目&#xff0c;添加以下…...

使用C#开发一款通用数据库管理工具

由于经常使用各种数据库&#xff0c;笔者自己动手丰衣足食&#xff0c;使用C#开发了一款通用数据库管理工具&#xff0c;支持Mysql、Oracle、Sqlite、SQL Server等数据库的表、视图、存储过程、函数管理功能&#xff0c;并支持导入导出、数据字典生成、拖拽式跨机器跨库数据一键…...

90.子集||

要求所有可能的子集&#xff0c;不能重复&#xff0c;因此对于相同的数字&#xff0c;要考虑去重&#xff0c;去重的方式就是通过排序&#xff0c;排序后相同的数字相邻&#xff0c;这样进行实现迭代时&#xff0c;若没有选择上一个数&#xff0c;&#xff0c;其当前数字与上一…...

windows phpstudy python cgi配置

修改apache配置文件:httpd.conf 搜索’Define SRVROOT’&#xff0c; 查看cgi根目录&#xff0c;python脚本需要放在该 Define SRVROOT "D:/Program/phpstudy_pro/Extensions/Apache2.4.39解决中文乱码 文件最后添加AddDefaultCharset gbk 重启apache python脚本: #!py…...