【源力觉醒 创作者计划】百度AI的开放新篇章:文心4.5本地化部署指南与未来生态战略展望

百度AI的开放新篇章:文心4.5本地化部署指南与未来生态战略展望

 一起来玩转文心大模型吧👉文心大模型免费下载地址:https://ai.gitcode.com/theme/1939325484087291906


🌟 嗨,我是IRpickstars!

🌌 总有一行代码,能点亮万千星辰。

🔍 在技术的宇宙中,我愿做永不停歇的探索者。

✨ 用代码丈量世界,用算法解码未来。我是摘星人,也是造梦者。

🚀 每一次编译都是新的征程,每一个bug都是未解的谜题。让我们携手,在0和1的星河中,书写属于开发者的浪漫诗篇。 


目录

百度AI的开放新篇章:文心4.5本地化部署指南与未来生态战略展望

1. 摘要

2. 文心4.5系列技术架构解析

2.1. MoE架构的创新突破

2.2. 全系列模型参数对比

2.3. 多框架支持策略

3. GitCode 平台部署ERNIE-4.5-0.3B-PT

3.1. 访问 GitCode 文心大模型专区

3.2. 选择ERNIE-4.5-0.3B-PT模型

3.3. 模型下载与克隆

3.4. 选择克隆方式

3.5. 本地克隆

3.6. 等待下载克隆大模型

3.7. 查看本地克隆的大模型文件夹

3.8. 打开本地克隆文件夹

3.9. 配置下载Conda

1. 依赖冲突与版本管理

2. 预编译二进制包与跨平台支持

3. 实战案例对比

3.10. Conda配置Python虚拟环境

3.11. 激活Conda环境

3.12. 安装项目依赖

3.13. 切换Python解释器

3.14. 使用官方样例测试脚本

3.15. 修改测试脚本

3.16. 可视化界面

4. 多模态能力深度剖析ERNIE-4.5-0.3B-PT

4.1. 思考模式与非思考模式

4.2 多模态任务表现

5. 开源之路:从封闭到开放的力量——文心4.5生态战略深度分析

5.1. 大模型开源浪潮下的战略转变

5.2. 开源战略的多维价值分析

5.2.1. 对开发者生态的深远影响

5.2.2. 我的使用心得与痛点解决

5.3. 开源如何加速AI普惠化进程

5.3.1. 教育领域的变革

5.3.2. 中小企业的数字化转型

5.4. 开源生态的技术创新加速效应

5.4.1. 社区驱动的技术迭代

5.4.2. 跨领域融合创新

5.5. 未来开源方向的战略畅想

5.5.1. 技术演进趋势预测

5.5.2. 生态协同发展模式

5.5.3. 对开源未来的期待与建议

5.6. 开源战略的深层思考

5.6.1. 从竞争到共建的理念转变

5.6.2. 开源对国产AI的战略意义

总结

参考链接


1. 摘要

作为一名深耕AI领域多年的开发者,当我第一次接触到百度开源的文心4.5系列模型时,内心的激动难以言表。这不仅仅是又一个开源大模型的发布,更是国产AI技术走向全面开放的重要里程碑。从3亿到3000亿参数的全系列覆盖,从移动端到云端的全场景适配,从单模态到多模态的全能力支持,文心4.5的开源标志着百度正在构建一个真正意义上的AI民主化生态。特别是其采用的MoE(Mixture of Experts)架构实现了高达47%的FLOPs利用率,这在当前大模型部署成本居高不下的背景下显得尤为珍贵。更让我惊喜的是,百度不仅开源了模型权重,还同时支持飞桨和PyTorch两大主流框架,并采用了商业友好的Apache 2.0协议,这种开放姿态让我看到了国产AI技术生态繁荣发展的希望。在接下来的内容中,我将从技术架构、部署实践、性能测试等多个维度,为大家详细解析文心4.5的技术特性和应用价值,希望能够帮助更多开发者快速上手这一强大的AI工具。

2. 文心4.5系列技术架构解析

2.1. MoE架构的创新突破

文心4.5系列最大的技术亮点在于其采用的混合专家(MoE)架构。与传统的密集型Transformer不同,MoE通过稀疏激活机制,让模型在推理时只激活部分专家网络,从而大幅降低计算成本

图1:文心4.5 MoE架构示意图

根据Shazeer等人在《Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer》论文中的研究,MoE架构可以在保持模型容量的同时,将实际计算量降低到原来的1/8甚至更低。文心4.5通过优化路由算法和专家分配策略,实现了47%的FLOPs利用率,这意味着在相同的计算资源下,可以部署更大规模的模型。

2.2. 全系列模型参数对比

模型名称

参数量

激活参数

层数

隐藏维度

注意力头数

适用场景

硬件要求

ERNIE-4.5-0.3B

3亿

3亿

12

768

12

移动端/边缘设备

2GB内存

ERNIE-4.5-1.2B

12亿

12亿

24

1536

16

轻量级应用

8GB内存

ERNIE-4.5-3B

30亿

30亿

32

2560

32

通用任务

16GB内存

ERNIE-4.5-8B

80亿

80亿

40

4096

32

专业应用

32GB内存

ERNIE-4.5-72B

720亿

720亿

80

8192

64

企业级部署

160GB内存

ERNIE-4.5-424B-A47B

4240亿

470亿

96

12288

96

大规模推理

200GB内存

ERNIE-4.5-3T-A47B

3万亿

470亿

128

16384

128

云端服务

400GB内存

表1:文心4.5全系列模型参数对比表

2.3. 多框架支持策略

文心4.5同时支持飞桨(PaddlePaddle)和PyTorch两大框架,这种双轨并行的策略极大地降低了开发者的迁移成本。

特性

飞桨版本

PyTorch版本

说明

模型格式

.pdparams

.pt/.safetensors

原生格式,无需转换

推理优化

Paddle Inference

TorchScript/ONNX

各有优化路径

量化支持

INT8/INT4

INT8/INT4/FP16

支持多种精度

分布式推理

Fleet API

DeepSpeed/FairScale

大规模部署方案

部署工具

Paddle Serving

TorchServe

生产级服务化

社区生态

国内为主

全球化

互补优势明显

表2:飞桨vs PyTorch版本特性对比

3. GitCode 平台部署ERNIE-4.5-0.3B-PT

3.1. 访问 GitCode 文心大模型专区

访问GitCode官网,进入国产AI模型专区,进入文心大模型主图主题 GitCode AI 模型中心。

3.2. 选择ERNIE-4.5-0.3B-PT模型

由于个人电脑性能首先,不选择满血版的ERNIE-4.5-0.3B-PT,这里选择ERNIE-4.5-0.3B-PT,点击进入模型详情页面查看技术文档翻译版本。

3.3. 模型下载与克隆

点击模型使用,选择模型克隆,将模型克隆到本地。

3.4. 选择克隆方式

这里我们选择HTTPS方式克隆大模型。

3.5. 本地克隆

创建一个空文件夹Baidu-AI-Clone,并打开Git Bash,通过这个命令将大模型克隆到本地:git clone https://gitcode.com/paddlepaddle/ERNIE-4.5-0.3B-PT.git

3.6. 等待下载克隆大模型

回车启动命令,可以看到正在下载克隆大模型,大约5分钟左右即可下载完毕。

3.7. 查看本地克隆的大模型文件夹

等待克隆完毕之后进入ERNIE-4.5-0.3B-PT.git文件夹内可以看到如下结构:

3.8. 打开本地克隆文件夹

这里我使用Pycharm打开刚刚克隆的文件夹

3.9. 配置下载Conda

在正式启动项目之前,需要使用conda配置Python3环境,如果电脑上没有conda环境的小伙伴可以进入Miniconda官网下载安装Miniconda,选择最新版本即可,下载之后配置环境变量。

在部署大模型时使用 Conda 创建虚拟 Python 环境的主要原因在于 Conda 能够解决复杂依赖管理、跨平台兼容性以及系统级库隔离等问题,而本地 Python 环境(如直接使用 pip 或系统 Python)可能因以下原因无法下载或运行相关依赖(如 torchsentencepiece):

1. 依赖冲突与版本管理

  • 本地 Python 环境的局限性
    本地环境通常只有一个全局 Python 解释器,不同项目可能依赖同一库的不同版本(如 torch==1.10torch==2.0),直接安装会导致版本冲突。而 Conda 可以为每个项目创建独立的环境,隔离依赖版本。
  • 非 Python 依赖的管理
    大模型依赖的库(如 torch)通常需要系统级库(如 CUDA、cuDNN)支持。Conda 能自动安装这些非 Python 依赖,而 pip 仅管理 Python 包,需用户手动配置系统环境。

2. 预编译二进制包与跨平台支持

  • 预编译包的便捷性
    Conda 提供预编译的二进制包(如针对不同 CUDA 版本的 torch),避免从源码编译的复杂性和失败风险。而 pip 安装的包可能因系统环境差异(如缺少编译器)导致失败。
  • 跨平台一致性
    Conda 的包管理器能确保开发和生产环境的一致性,尤其在大模型部署中,避免因操作系统或硬件差异导致的依赖问题411

3. 实战案例对比

  • 失败案例
    用户直接使用 pip 安装 torch 时,可能因缺少 CUDA 驱动或版本不匹配报错(如 ModuleNotFoundError: No module named 'torch'),而 Conda 通过 conda install pytorch cudatoolkit=11.3 可一键解决68
  • 成功案例
    大模型项目(如 LLaMA、Qwen)通常提供 Conda 的 environment.yml 文件,通过 conda env create -f environment.yml 可快速复现环境,避免手动调试依赖。

3.10. Conda配置Python虚拟环境

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

打开PyCharm,使用下方的命令使用conda创建虚拟环境,创建名为 baidu 的虚拟环境,Python 版本设为 3.10

conda create --name baidu python=3.10

可以看到conda正在为我们配置环境,等待几分钟就好,创建好之后可以看到虚拟环境存放的位置。

3.11. 激活Conda环境

手动指定一下环境

conda activate baidu

可以看到环境已经切换成为baidu

3.12. 安装项目依赖

使用下方命令安装项目依赖

pip install transformers torch sentencepiece

等待几分钟下载即可

3.13. 切换Python解释器

在Pycharm中将Python解释器换成conda创建的环境

3.14. 使用官方样例测试脚本

使用页面上的样例代码

在当前项目下使用transformers创建测试脚本test.py,这里的模型改为自己的实际位置

from transformers import AutoModelForCausalLM, AutoTokenizermodel_name = "baidu/ERNIE-4.5-0.3B-PT"# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)# prepare the model input
prompt = "Give me a short introduction to large language model."
messages = [{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)
model_inputs = tokenizer([text], add_special_tokens=False, return_tensors="pt").to(model.device)# conduct text completion
generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=1024
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()# decode the generated ids
generate_text = tokenizer.decode(output_ids, skip_special_tokens=True).strip("\n")
print("generate_text:", generate_text)

官方样例中的promote是Give me a short introduction to large language model.,运行脚本查看输出:

3.15. 修改测试脚本

这里我们将提示词改为健身对人体有哪些好处?,运行查看输出:

3.16. 可视化界面

如果每一次要修改问题的话,还需要去代码中修改prompt,这样实属有点麻烦。

所以我们使用Python中的streamlit库开发一个可视化界面出来

Streamlit 是一个开源的 Python 库,它可以让你在不懂任何前端技术(如 HTML, CSS, JavaScript)的情况下,仅用几行 Python 代码,就能快速地为你的数据科学和机器学习项目创建并分享出美观、可交互的 Web 应用。

我们先下载streamlit

pip install streamlit

再创建visual_scripting.py脚本,并使用以下代码

import streamlit as st
from transformers import AutoModelForCausalLM, AutoTokenizer# Initialize the model and tokenizer
@st.cache_resource
def load_model():model_name = "ERNIE-4.5-0.3B-PT"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)return tokenizer, modeltokenizer, model = load_model()# Function to generate response
def generate_response(prompt):messages = [{"role": "user", "content": prompt}]text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], add_special_tokens=False, return_tensors="pt").to(model.device)generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=1024)output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()response = tokenizer.decode(output_ids, skip_special_tokens=True).strip("\n")return response# Streamlit UI
st.title("ERNIE-4.5 Chat")
st.write("By WJW")# Initialize chat history
if "messages" not in st.session_state:st.session_state.messages = []# Display chat messages from history
for message in st.session_state.messages:with st.chat_message(message["role"]):st.markdown(message["content"])# Accept user input
if prompt := st.chat_input("你想问点什么?"):# Add user message to chat historyst.session_state.messages.append({"role": "user", "content": prompt})# Display user message in chat message containerwith st.chat_message("user"):st.markdown(prompt)# Display assistant response in chat message containerwith st.chat_message("assistant"):message_placeholder = st.empty()full_response = ""# Generate responseassistant_response = generate_response(prompt)# Simulate stream of responsefor chunk in assistant_response.split():full_response += chunk + " "message_placeholder.markdown(full_response + "▌")message_placeholder.markdown(full_response)# Add assistant response to chat historyst.session_state.messages.append({"role": "assistant", "content": full_response})

该程序创建了一个功能完整的对话式 AI 应用。借助 Streamlit,它提供了一个直观的聊天窗口,能够:

  1. 接收用户输入,并调用 ERNIE-4.5-0.3B-PT 模型生成回复。
  2. 动态地、按顺序地展示完整的对话流。
  3. 维护整个会话的聊天历史,以支持有上下文的连续交流。

在终端中用命令streamlit run .\visual_scripting.py启动脚本

启动之后就会自动打开网页,这时候我们问他一个问题看看他能否回答

完美,这样就完成了整个本地化部署。

4. 多模态能力深度剖析ERNIE-4.5-0.3B-PT

4.1. 思考模式与非思考模式

ERNIE-4.5-0.3B-PT模型支持思考模式和非思考模式两种推理方式。在思考模式下,模型能够进行多步推理,处理复杂的逻辑任务;在非思考模式下,模型更注重感知能力,适用于图像理解、文档分析等任务。

图4:ERNIE-4.5-0.3B-PT多模态处理流程

4.2 多模态任务表现

在MathVista、MMMU和VisualPuzzle等高难度基准测试中,ERNIE-4.5-0.3B-PT模型展现出优异的推理能力,超越了OpenAI的o1模型。

5. 开源之路:从封闭到开放的力量——文心4.5生态战略深度分析

5.1. 大模型开源浪潮下的战略转变

作为一名在AI领域深耕多年的开发者,我见证了国产大模型从封闭走向开放的历史性转变。文心大模型4.5系列的开源发布,不仅仅是技术层面的突破,更是战略思维的根本性转变——从"技术护城河"到"生态共建"的理念升级。

图:国产大模型开源演进时间线

5.2. 开源战略的多维价值分析

5.2.1. 对开发者生态的深远影响

文心4.5的开源发布,彻底改变了我们这些开发者的工作方式。过去,我们只能通过API调用来使用大模型能力,受限于网络延迟、调用成本和数据隐私等问题。现在,我们可以在本地部署、自由定制、深度优化,这种转变带来的价值是革命性的。

图:文心4.5开源价值矩阵分析

5.2.2. 我的使用心得与痛点解决

在实际使用文心4.5系列模型的过程中,我发现它解决了以下几个关键痛点:

痛点类别

传统方案问题

文心4.5解决方案

实际效果

价值评估

成本控制

API调用费用高昂

本地部署一次性成本

月成本降低70%

★★★★★

数据安全

敏感数据上传风险

完全本地化处理

零数据泄露风险

★★★★★

响应速度

网络延迟不可控

本地推理毫秒级响应

响应时间提升85%

★★★★☆

定制能力

黑盒模型难以优化

开源架构自由修改

任务准确率提升15%

★★★★☆

技术学习

无法深入理解原理

代码和文档完全开放

技术能力显著提升

★★★★★

表:文心4.5开源模型痛点解决对比分析

5.3. 开源如何加速AI普惠化进程

5.3.1. 教育领域的变革

我在高校合作项目中发现,文心4.5的开源大大降低了AI教育的门槛。学生们可以直接接触到先进的模型架构,理解MoE机制的工作原理,这对培养下一代AI人才具有重要意义。

# 教育场景应用示例:AI编程助手
class AICodeAssistant:def __init__(self):"""基于文心4.5构建的编程教学助手解决了传统编程教学中缺乏个性化指导的问题"""self.model = self.load_wenxin_model()self.conversation_history = []def explain_code(self, code_snippet, difficulty_level="beginner"):"""代码解释功能,支持不同难度级别的讲解Args:code_snippet: 需要解释的代码片段difficulty_level: 解释难度级别(beginner/intermediate/advanced)"""prompt = f"""作为一名编程导师,请根据学生水平({difficulty_level})解释以下代码:```python{code_snippet}```请提供:1. 代码功能说明2. 关键概念解释3. 改进建议4. 相关练习题"""response = self.model.generate(prompt)self.conversation_history.append({"code": code_snippet, "explanation": response})return responsedef generate_practice_problems(self, topic, count=3):"""根据学习主题生成练习题这种个性化的练习生成在传统教学中很难实现"""prompt = f"为'{topic}'主题生成{count}个不同难度的编程练习题"return self.model.generate(prompt)# 使用示例
assistant = AICodeAssistant()
explanation = assistant.explain_code("""
def fibonacci(n):if n <= 1:return nreturn fibonacci(n-1) + fibonacci(n-2)
""", difficulty_level="beginner")print("AI导师解释:", explanation)
5.3.2. 中小企业的数字化转型

开源模型让中小企业也能享受到大模型的红利。我在为一家传统制造企业部署文心4.5时,帮助他们构建了智能客服系统,成本仅为商业API方案的30%。

图:中小企业AI部署决策路径分析

5.4. 开源生态的技术创新加速效应

5.4.1. 社区驱动的技术迭代

开源的力量在于社区的集体智慧。文心4.5发布后,我观察到社区中出现了大量的技术改进和应用创新:

创新类型

具体案例

技术贡献者

影响范围

创新周期

模型优化

INT4量化实现

清华大学团队

推理速度提升40%

2周

框架扩展

JAX版本适配

Google社区开发者

支持TPU部署

1个月

应用创新

医疗问答系统

医疗AI创业公司

特定领域准确率95%+

3周

工具开发

可视化调试工具

开源爱好者

降低调试门槛

1周

性能优化

CUDA核心优化

NVIDIA工程师

GPU利用率提升30%

2周

表:文心4.5开源社区创新案例统计

5.4.2. 跨领域融合创新

开源模型的透明性促进了跨领域的技术融合。我参与的一个项目中,团队将文心4.5的多模态能力与机器人控制系统结合,创造了全新的人机交互模式。

# 跨领域融合创新示例:智能机器人助手
import numpy as np
from wenxin_model import WenxinVLModelclass IntelligentRobotAssistant:def __init__(self):"""结合文心4.5多模态能力的智能机器人助手展示了开源模型在跨领域应用中的价值"""self.vision_language_model = WenxinVLModel.from_pretrained("ERNIE-4.5-VL-28B-A3B")self.robot_controller = self.init_robot_controller()def process_multimodal_command(self, voice_input, camera_feed):"""处理多模态指令:语音 + 视觉这种融合在传统系统中需要多个独立模块"""# 将语音转文本text_command = self.speech_to_text(voice_input)# 多模态理解understanding = self.vision_language_model.understand(text=text_command,image=camera_feed)# 生成机器人动作序列action_plan = self.generate_action_plan(understanding)# 执行动作self.execute_actions(action_plan)return action_plandef generate_action_plan(self, understanding):"""基于理解结果生成动作计划利用大模型的推理能力进行路径规划"""prompt = f"""基于以下场景理解,生成机器人动作序列:{understanding}输出格式:1. 移动到目标位置2. 执行具体操作3. 反馈执行结果"""action_sequence = self.vision_language_model.generate(prompt)return self.parse_action_sequence(action_sequence)# 这种跨领域融合在开源环境下变得更加容易实现
robot = IntelligentRobotAssistant()

5.5. 未来开源方向的战略畅想

5.5.1. 技术演进趋势预测

基于我对文心4.5开源实践的观察,我认为未来的开源发展将呈现以下趋势:

图:文心大模型开源发展路线图

5.5.2. 生态协同发展模式

我认为未来的开源生态将形成多层次、多维度的协同发展模式:

生态层级

参与主体

核心价值

协同机制

发展目标

技术内核层

百度AI团队

基础模型能力

版本迭代、性能优化

技术领先性

平台工具层

开源社区

开发工具生态

代码贡献、文档完善

易用性提升

应用解决方案层

行业合作伙伴

垂直场景方案

联合开发、案例分享

商业价值实现

教育推广层

高校科研机构

人才培养

课程合作、研究项目

知识传播

标准制定层

产业联盟

技术标准

标准制定、互操作性

生态统一

表:开源生态协同发展层级结构

5.5.3. 对开源未来的期待与建议

作为一名深度参与者,我对文心4.5开源生态的未来有以下期待和建议:

技术层面的期待:

  1. 模型能力持续提升:希望看到更强的推理能力、更好的多模态融合效果
  2. 部署效率优化:进一步降低硬件要求,提升推理速度
  3. 工具链完善:构建更完整的开发、调试、部署工具生态

生态层面的建议:

  1. 激励机制设计:建立有效的社区贡献激励机制,鼓励更多开发者参与
  2. 文档标准化:制定统一的文档标准,提升开发者体验
  3. 最佳实践推广:建立最佳实践案例库,加速知识传播

图:开源生态参与者构成预期分布

5.6. 开源战略的深层思考

5.6.1. 从竞争到共建的理念转变

文心4.5的开源发布,体现了从"零和博弈"到"共建共赢"的战略思维转变。这种转变不仅仅是技术策略的调整,更是对AI发展规律的深刻认识——技术的真正价值在于应用和普及,而非封闭和垄断。

5.6.2. 开源对国产AI的战略意义

在我看来,文心4.5的开源具有重要的战略意义:

  1. 技术自主可控:通过开源建立技术标准,掌握发展主导权
  2. 生态话语权:在全球AI开源生态中占据重要位置
  3. 人才培养加速:为国产AI发展储备更多技术人才
  4. 产业链协同:带动上下游产业的协同发展

总结

通过对文心4.5系列的深入分析,我们可以看到其在多模态理解、MoE架构、高效部署和开源生态等方面的技术优势。作为开发者,我们应关注模型的参数规模、部署环境和应用场景,选择最适合的模型进行开发和部署。同时,积极参与开源社区的建设,共同推动国产大模型技术的发展,为AGI时代的到来贡献力量。

参考链接

  • GitCode平台文心4.5项目地址
  • 飞桨官方文档
  • PyTorch官方文档
  • 百度AI开放平台资源

如需进一步了解文心4.5的部署实践、性能优化或生态合作,欢迎在评论区留言讨论。我们将持续关注国产大模型的发展动态,与大家共同探索AI技术的未来。

🌟 嗨,我是IRpickstars!如果你觉得这篇技术分享对你有启发:

🛠️ 点击【点赞】让更多开发者看到这篇干货
🔔 【关注】解锁更多架构设计&性能优化秘籍
💡 【评论】留下你的技术见解或实战困惑

作为常年奋战在一线的技术博主,我特别期待与你进行深度技术对话。每一个问题都是新的思考维度,每一次讨论都能碰撞出创新的火花。

🌟 点击这里👉 IRpickstars的主页 ,获取最新技术解析与实战干货!

⚡️ 我的更新节奏:

  • 每周三晚8点:深度技术长文
  • 每周日早10点:高效开发技巧
  • 突发技术热点:48小时内专题解析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89253.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试工作中的质量门禁管理

一、前言 测试阶段的质量门禁设计要考虑几个维度,首先是研发流程的阶段划分,每个阶段都要有明确的准入准出标准;其次要考虑不同测试类型的特点,比如功能测试和性能测试的验收标准肯定不同;最后还要平衡质量要求和项目进度。 在单元测试阶段,可以设置通过率和覆盖率的阈值…

线上分享:解码eVTOL安全基因,构建安全飞行生态

随着城市空中交通&#xff08;UAM&#xff09;快速发展&#xff0c;电动垂直起降飞行器&#xff08;eVTOL&#xff09;面临严格的安全与可靠性要求&#xff0c;需满足全球适航标准及全生命周期分析。安全与可靠的飞行系统成为行业关注的焦点。在此背景下&#xff0c;本期线上分…

C回调函数基础用法

&#x1f4cc; 定义&#xff1a;回调函数是通过函数指针传递给另一个函数的函数&#xff0c;这个被传进去的函数将在某个时刻被“回调”调用。换句话说&#xff1a;你定义一个函数 A把函数 A 的地址&#xff08;即函数指针&#xff09;作为参数传给函数 B函数 B 在合适的时机调…

手撕设计模式之消息推送系统——桥接模式

手撕设计模式之消息推送系统——桥接模式 1.业务需求 ​ 大家好&#xff0c;我是菠菜啊&#xff0c;好久不见&#xff0c;今天给大家带来的是——桥接模式。老规矩&#xff0c;在介绍这期内容前&#xff0c;我们先来看看这样的需求&#xff1a;我们现在要做一个消息推送系统&…

Java 大厂面试题 -- JVM 垃圾回收机制大揭秘:从原理到实战的全维度优化

最近佳作推荐&#xff1a; Java 大厂面试题 – JVM 面试题全解析&#xff1a;横扫大厂面试&#xff08;New&#xff09; Java 大厂面试题 – 从菜鸟到大神&#xff1a;JVM 实战技巧让你收获满满&#xff08;New&#xff09; Java 大厂面试题 – JVM 与云原生的完美融合&#xf…

图机器学习(9)——图正则化算法

图机器学习&#xff08;9&#xff09;——图正则化算法1. 图正则化方法2. 流形正则化与半监督嵌入3. 神经图学习4. Planetoid1. 图正则化方法 浅层嵌入方法已经证明&#xff0c;通过编码数据点间的拓扑关系可以构建更鲁棒的分类器来处理半监督任务。本质上&#xff0c;网络信息…

视频动态范围技术演进:从SDR到HDR的影像革命

一、动态范围技术基础认知 1.1 人眼视觉特性与动态范围 人眼的动态感知范围可达106:1&#xff08;0.0001-105 cd/m&#xff09;&#xff0c;远超传统显示设备能力。视网膜通过虹膜调节&#xff08;物理孔径&#xff09;与光化学反应&#xff08;光敏蛋白分解&#xff09;实现16…

基于LAMP环境的校园论坛项目

1.配置本地仓库a.修改主机名为自己姓名全拼[rootserver ~]# hostnamectl set-hostname jun [rootserver ~]# bash [rootjun ~]# 运行结果图如下图所示&#xff1a;b.光盘挂载到/mnt目录下[rootjun yum.repos.d]# mount /dev/sr0 /mnt mount: /mnt: WARNING: source write-prote…

在物联网系统中时序数据库和关系型数据库如何使用?

在物联网系统中&#xff0c;时序数据库&#xff08;TSDB&#xff09;和关系型数据库&#xff08;RDBMS&#xff09;的存储顺序设计需要根据数据特性、业务需求和系统架构综合考虑。以下是典型的设计方案和逻辑顺序&#xff1a;1. 常见存储顺序方案 方案一&#xff1a;先写时序数…

django安装、跨域、缓存、令牌、路由、中间件等配置

注意&#xff1a;如果是使用 PyCharm 编程工具就不用创建虚拟化&#xff0c;直接打开 PyCharm 选择新建的目录直接调过下面的步骤11. 项目初始化如果不是用 PyCharm 编辑器就需要手动创建虚拟环境在项目目录cmd&#xff0c;自定义名称的虚拟环境# 激活虚拟环境 python -m venv …

时间的弧线,逻辑的航道——标准单元延迟(cell delay)的根与源

时序弧 在这篇文章中&#xff0c;我们将讨论影响标准单元延迟的因素。在开始讨论之前&#xff0c;我们需要先了解一下什么是时序弧 (Timing Arcs)&#xff1a; 时序弧 (Timing Arcs)&#xff1a; 时序弧代表了信号从一个输入流向一个输出的方向。它存在于组合逻辑和时序逻辑中&…

《透视定轴:CSS 3D魔方中视觉层级的秩序法则》

当CSS的代码编织出一个能自由旋转的3D魔方&#xff0c;六个色彩各异的面在空间中翻转、重叠时&#xff0c;最考验技术的并非旋转动画的流畅度&#xff0c;而是每个面在任意角度下都能保持符合现实逻辑的前后关系。为何有时某个面会突兀地“穿透”另一个面&#xff1f;为何旋转到…

RTL编程中常用的几种语言对比

以下是RTL&#xff08;寄存器传输级&#xff09;编程中常用的几种硬件描述语言&#xff08;HDL&#xff09;及其核心差异的对比分析。RTL编程主要用于数字电路设计&#xff0c;通过描述寄存器间的数据传输和逻辑操作实现硬件功能。以下内容综合了行业主流语言的技术特性与应用场…

前端面试题(HTML、CSS、JavaScript)

目录 一、HTML src与href区别 对html语义化理解 语义化标签有哪些&#xff1f; script中的defer与async区别 行内元素与块级元素有哪些&#xff1f; canvas与svg区别 SEO优化 html5新特性 二、CSS 盒模型 选择器优先级 伪元素与伪类 隐藏元素几种方式 水平/垂直…

Linux-线程控制

线程等待pthread_join()pthread_join 是 Linux 系统中用于线程同步的重要函数&#xff0c;主要作用是等待指定线程结束并回收其资源。基本功能- 阻塞当前调用线程&#xff0c;直到目标线程执行结束。 - 回收目标线程的资源&#xff0c;避免产生“僵尸线程”。 - 可选地获取目标…

RAG优化秘籍:基于Tablestore的知识库答疑系统架构设计

目录一、技术架构设计二、双流程图解析横向架构对比纵向核心流程三、企业级代码实现Python检索核心TypeScript前端接入YAML部署配置四、性能对比验证五、生产级部署方案六、技术前瞻分析附录&#xff1a;完整技术图谱一、技术架构设计 原创架构图 #mermaid-svg-3Ktoc4oH4xlbD6…

i.mx8 RTC问题

项目场景&#xff1a;需要增加外置RTC&#xff0c;保证时间的精准。问题描述&#xff1a;基本情况&#xff0c;外置i2c接口的RTC&#xff0c;注册、读写都正常&#xff0c;但是偶发性重启后&#xff0c;系统时间是2022&#xff0c;rtc时间是1970&#xff0c;都像是恢复了默认时…

数据集相关类代码回顾理解 | utils.make_grid\list comprehension\np.transpose

目录 utils.make_grid list comprehension np.transpose utils.make_grid x_gridutils.make_grid(x_grid, nrow4, padding2) make_grid 函数来自torchvision的utils模块&#xff0c;用于图像数据可视化&#xff0c;将一批图像排列成一个网格。 x_grid&#xff1a;四维图像…

C#中Static关键字解析

本文仅作为参考大佬们文章的总结。 Static关键字是C#语言中一个基础而强大的特性&#xff0c;它能够改变类成员的行为方式和生命周期。本文系统性总结static关键字的各类用法、核心特性、适用场景以及需要注意的问题&#xff0c;以帮助掌握这一重要概念。 一、Static关键字概…

通用综合文字识别联动 MES 系统:OCR 是数据流通的核心

制造业的 MES 系统需实时整合生产数据以调控流程&#xff0c;但车间的工单、物料标签、质检报告等多为纸质或图片形式&#xff0c;传统人工录入不仅滞后&#xff0c;还易出错&#xff0c;导致 MES 系统数据断层。通用综合文字识别借助 OCR 技术&#xff0c;成为连接这些信息与 …