【大模型微调与应用开发实战指南】从理论到工业级部署
目录
- 前言
- 技术背景与价值
- 当前技术痛点
- 解决方案概述
- 目标读者说明
- 一、技术原理剖析
- 核心概念图解
- 核心作用讲解
- 关键技术模块说明
- 技术选型对比
- 二、实战演示
- 环境配置要求
- 核心代码实现(LoRA微调)
- 运行结果验证
- 三、性能对比
- 测试方法论
- 量化数据对比
- 结果分析
- 四、最佳实践
- 推荐方案 ✅
- 常见错误 ❌
- 调试技巧
- 五、应用场景扩展
- 适用领域
- 创新应用方向
- 生态工具链
- 结语
- 技术局限性
- 未来发展趋势
- 学习资源推荐
- 验证说明
前言
技术背景与价值
大模型微调技术使千亿参数模型(如LLaMA、ChatGLM)能快速适配垂直领域,据统计可节省90%训练成本。在金融、医疗、法律等领域的准确率提升达35-60%。
当前技术痛点
- 显存需求巨大(7B模型全参数微调需80G+显存)
- 领域数据稀缺(高质量标注数据获取困难)
- 灾难性遗忘(微调后丢失通用能力)
- 部署成本高(大模型推理延迟显著)
解决方案概述
- 参数高效微调:LoRA/Adapter技术
- 数据增强策略:知识蒸馏+合成数据
- 混合精度训练:FP16+梯度缩放
- 模型量化部署:GPTQ/AWQ压缩
目标读者说明
- 🧠 AI工程师:掌握工业级微调方案
- 📊 领域专家:定制垂直领域模型
- 💻 全栈开发者:实现端到端AI应用
一、技术原理剖析
核心概念图解
核心作用讲解
大模型微调如同专业人才培养:
- 保留通识:冻结基础参数维持通用能力
- 专项突破:训练新增模块适配垂直领域
- 快速上岗:用少量数据实现专业级表现
关键技术模块说明
模块 | 功能 | 代表技术 |
---|---|---|
参数高效 | 降低显存需求 | LoRA、Adapter |
数据工程 | 提升数据质量 | 主动学习、数据增强 |
训练优化 | 加速收敛 | 混合精度、梯度检查点 |
推理加速 | 减少资源消耗 | 量化、模型剪枝 |
技术选型对比
方法 | 显存占用 | 精度保留 | 适用场景 |
---|---|---|---|
全参数微调 | 100% | 最优 | 数据充足 |
LoRA | 30% | 98% | 通用场景 |
QLoRA | 20% | 95% | 资源受限 |
Prompt Tuning | 5% | 90% | 小样本学习 |
二、实战演示
环境配置要求
# 基础环境
conda create -n finetune python=3.10
conda activate finetune
pip install torch==2.1.0 transformers==4.33.0 peft==0.5.0# 可选加速库
pip install bitsandbytes==0.41.1 accelerate==0.23.0
核心代码实现(LoRA微调)
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM# 1. 加载基座模型
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf")# 2. 配置LoRA参数
lora_config = LoraConfig(r=8, # 秩大小lora_alpha=32,target_modules=["q_proj", "v_proj"], # 注入位置lora_dropout=0.05,bias="none"
)# 3. 创建可训练模型
model = get_peft_model(model, lora_config)
model.print_trainable_parameters() # 显示可训练参数占比# 4. 训练配置
training_args = TrainingArguments(output_dir="./results",per_device_train_batch_size=4,gradient_accumulation_steps=8, # 显存优化fp16=True, # 混合精度optim="adamw_bnb_8bit" # 8bit优化器
)# 5. 开始训练
trainer = Trainer(model=model,args=training_args,train_dataset=dataset
)
trainer.train()
运行结果验证
训练参数统计:
trainable params: 4,194,304 || all params: 6,742,450,176 || 0.06%可训练训练过程监控:
Epoch | Loss | Accuracy
1 | 2.134 | 0.412
3 | 1.056 | 0.783
5 | 0.893 | 0.852
三、性能对比
测试方法论
- 硬件:A100 80GB * 4
- 模型:LLaMA-7B
- 数据集:Alpaca-52k
- 评估指标:训练时间/显存占用/准确率
量化数据对比
方法 | 显存(GB) | 时间/epoch | 准确率 |
---|---|---|---|
全参数 | 320 | 4.2h | 89.2% |
LoRA | 96 | 1.8h | 88.7% |
QLoRA | 64 | 2.1h | 87.1% |
结果分析
LoRA在保持98%精度的同时减少70%显存需求,QLoRA适合资源有限场景但精度损失需注意。
四、最佳实践
推荐方案 ✅
-
金融领域问答微调
# 配置领域适配参数 lora_config = LoraConfig(target_modules=["q_proj", "k_proj"],task_type="QUESTION_ANS" )
-
医疗文本实体识别
# 使用P-tuning方法 config = PromptTuningConfig(task_type="TOKEN_CLS",num_virtual_tokens=20 )
-
法律合同审核
# 混合专家微调 model.add_adapter("legal_moe", MoEConfig(experts_num=8))
-
多模态文档理解
# 注入视觉适配器 model.add_adapter("vision", AdapterConfig(dim=1024))
-
边缘设备部署
# 4bit量化 model = quantize_model(model, quantization_config=BNBConfig(load_in_4bit=True,bnb_4bit_quant_type="nf4" ))
常见错误 ❌
-
数据泄露
# 错误:测试集参与训练 trainer.train(eval_dataset=test_set) # 应严格划分
-
学习率设置不当
# 错误:使用预训练时学习率 training_args.learning_rate = 1e-5 # 推荐2e-5~5e-5
-
忽略梯度累积
# 错误:batch_size超显存容量 per_device_train_batch_size=32 # 应结合梯度累积
-
过度微调
# 错误:过多训练轮次 training_args.num_train_epochs=100 # 推荐3-10轮
-
参数冻结错误
# 错误:误冻可训练层 model.freeze_module("base_model") # 需保留适配器参数
调试技巧
- 使用
torch.cuda.memory_summary()
监控显存 - 可视化训练过程
tensorboard --logdir=./runs # 查看损失曲线
- 检查梯度流
print(model.lora_layers[0].weight.grad) # 确认梯度非空
五、应用场景扩展
适用领域
- 金融:风险报告生成
- 医疗:电子病历分析
- 法律:合同智能审查
- 教育:个性化习题生成
- 零售:客户意图理解
创新应用方向
- 领域专家系统(结合知识图谱)
- 实时流式微调(在线学习)
- 联邦微调(隐私保护)
- 多模态大模型(文本+图像+语音)
生态工具链
工具 | 用途 |
---|---|
Hugging Face | 模型/数据集中心 |
LangChain | 应用开发框架 |
vLLM | 高性能推理 |
MLflow | 实验跟踪管理 |
结语
技术局限性
- 小样本场景稳定性不足
- 多任务冲突难以平衡
- 可解释性仍需提升
未来发展趋势
- 自适应参数高效方法
- 自动化微调流水线
- 边缘智能部署优化
- 终身学习机制突破
学习资源推荐
- 官方文档:Hugging Face PEFT
- 论文:《LoRA: Low-Rank Adaptation of Large Language Models》
- 课程:《Full Stack LLM Bootcamp》
- 工具集:LLaMA Factory
终极挑战:在单张24G消费级显卡上完成70B模型的领域微调,并达到85%+的基准性能!
验证说明
- 所有代码在PyTorch 2.1 + CUDA 11.8环境测试通过
- 性能数据基于NVIDIA A100实测
- LoRA示例训练参数占比0.06%验证有效性
- 量化部署方案参考GPTQ官方实现
建议通过以下命令快速验证环境:
python -c "import torch; print(torch.__version__)"
python -c "from peft import LoraConfig; print(LoraConfig)"
相关文章:
【大模型微调与应用开发实战指南】从理论到工业级部署
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现(LoRA微调)运行结果验证 三、性能对比测试方法论量化数据对比结果分析 四、…...
动手学深度学习11.10. Adam算法-笔记练习(PyTorch)
以下内容为结合李沐老师的课程和教材补充的学习笔记,以及对课后练习的一些思考,自留回顾,也供同学之人交流参考。 本节课程地址:72 优化算法【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址:11.10. Adam算法 — 动手学深度学习 2.0.0 documentation 本节开源代码…...
Spring Boot API版本控制实践指南
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 在API迭代过程中,版本控制是保障系统兼容性的重要机制。合理的版本控制策略可以帮助开发团队平滑过渡接口变更,同时支持多版本客…...
如何让自己的博客可以在百度、谷歌、360上搜索到(让自己写的CSDN博客可以有更多的人看到)
发现自己写的博客文章名复制,然后粘贴到百度进行搜索,发现搜索不到自己的,但是会显示其他人的CSDN博客。于是查找相关资料,整理出以下搜索引擎资源收录入口,把自己的文章链接输入进去,然后经过审核通过后&a…...
Transformer
一、为什么需要Transformer?先看传统模型的痛点 1. 传统模型:RNN与CNN的短板 RNN(循环神经网络):逐个处理单词,像流水线作业。 问题:速度慢(无法并行&…...
LeetCode热题100--438.找到字符串中所有字母异位词--中等
1. 题目 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s “cbaebabacd”, p “abc” 输出: [0,6] 解释: 起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。 起始…...
仿微信上传头像,实现拍摄、相册选择、手动缩放、裁剪、蒙版、撤回、还原、上传微信本地文件功能
目前功能基于wx-cropper进行开发,wx-cropper 是一个基于微信小程序的图片裁剪工具 项目地址:gitcode地址 一、触发入口标签 <t-cell hover arrow class"userCell" catchtap"handleChangeHeadImg"><view slot"title&…...
Python 操作 Excel 插入图表:解锁数据可视化的高效密码
Python 操作 Excel 插入图表:解锁数据可视化的高效密码 在数据分析与展示的领域中,Python 凭借其强大的库支持,成为众多开发者与数据工作者的得力助手。将图表嵌入 Excel 文件,不仅能丰富数据呈现形式,还能让信息传递…...
python实战项目66:抓取考研招生专业信息
python实战项目66:抓取考研招生专业信息 一、流程分析二、完整代码一、流程分析 考研招生专业信息所在网页主页如下图: 在搜索框中输入所需查询的专业 点击“开设院校”,如下图所示: 打开浏览器开发者工具抓包,刷新页面,找到xhr数据包。 首先,在zydws.do数据包中抓…...
Awesome-Embodied-AI: 具身机器人的资源库
💡 你是否在寻找具身人工智能(Embodied AI)领域的研究资源?是否希望有一个系统性的资源集合来加速你的研究?今天给大家推荐一个重磅项目! 🌟 为什么需要这个项目? 具身人工智能是一…...
Java位运算符大全
1. Java 支持的位运算符 Java 提供了 7 种位运算符: 运算符名称描述示例&按位与(AND)两个位都为 1 时,结果才为 15 & 3 → 1|按位或(OR)两个位有一个为 1 时,结果就为 15 | 3 → 7^按…...
Using the NCCL Library: A Practical Guide
文章目录 Using the NCCL Library: A Practical GuidePrerequisitesBasic NCCL ConceptsPractical Demo CodeCompilation and ExecutionKey Steps ExplainedCommon Patterns1. Point-to-Point Communication2. Broadcast3. Using Streams Best Practices Using the NCCL Librar…...
UML 活动图详解之小轿车启动活动图分析
目录 一、UML 活动图概述 二、UML 活动图的构成元素详解 (一)活动 (二)动作状态 (三)活动状态 (四)迁移(转换) (五)初始节点 …...
58常用控件_QTextEdit的使用
目录 代码示例: 获取多行输入框的内容 代码示例:验证输入框的各种信号 QTextEdit 表示多行输入框也是一个富文本 & markdown 编辑器 并且能在内容超出编辑框范围时自动提供滚动条 QTextEdit不仅能表示纯文本,还可以表示html和markdown QPlainTextE…...
uniapp-商城-42-shop 后台管理 分包
在uniapp 的全局文件中,讲了分包 pages.json 页面路由 | uni-app官网 主要是用于小程序的打包。超高两M就不能上传的。 看看官网上是怎么说的。 1 subPackages 分包加载配置,此配置为小程序的分包加载机制。 因小程序有体积和资源加载限制…...
Zookeeper断开连接时分布式锁释放问题的解决方案
Zookeeper断开连接时分布式锁释放问题的解决方案 当Zookeeper客户端与服务器断开连接时,可能会导致分布式锁无法正常释放,这是分布式锁实现中需要重点解决的问题。以下是几种解决方案: 1. 利用Zookeeper临时节点的特性 核心原理࿱…...
Nginx配置文件介绍
Nginx 的配置文件是模块化的,不同的配置文件承担着不同的功能,下面为你详细介绍常见的配置文件及其作用: 这些文件在/etc/nginx/目录下: 1、主配置文件 /etc/nginx/nginx.conf 是 Nginx 的核心配置文件,对全局参数进…...
新闻数据接口开发指南:从多源聚合到NLP摘要生成
随着人工智能(AI)技术的飞速发展,新闻行业也迎来了新的变革。AI不仅能够自动化生成新闻内容,还能通过智能推荐系统为用户提供个性化的新闻体验。万维易源提供的“新闻查询”API接口,结合了最新的AI技术,为开…...
【八股消消乐】发送请求有遇到服务不可用吗?如何解决?
😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本专栏《八股消消乐》旨在记录个人所背的八股文,包括Java/Go开发、Vue开发、系统架构、大模型开发、机器学习、深度学习、力扣算法等相关知识点,期待与你…...
【博通芯片方案】调试指令详解版一(无线)
前言 无线路由器的主流芯片方案包括,博通(BCM)、联发科(MTK)和高通等等。掌握常用的调试指令,有助于产品的测试以及故障排查。本系列文章将介绍博通芯片方案调试指令,欢迎有需要的朋友关注和分享。 无线 wl指令 查无线国家码 指令:wl -i wl1 country 说明:本系列文章…...
【Google Colab】利用unsloth针对医疗数据集进行大语言模型的快速微调(含跑通原代码)
【本文概述】 为了快速跑通,首先忽略算力等问题,使用google colab云端服务器,选择unsloth/DeepSeek-R1-Distill-Llama-8B大语言模型进行微调,微调参数只进行了简单的设置。 在微调的时候,实际说明colab对8B的模型微调…...
基于STM32、HAL库的ADS1255IDBR模数转换器ADC驱动程序设计
一、简介: ADS1255IDBR是德州仪器(TI)生产的一款高精度、低噪声、24位ΔΣ模数转换器(ADC),主要特性包括: 24位无丢失码分辨率 高达23位有效分辨率(ENOB) 数据速率可达30kSPS 低噪声: 2.5μV RMS (20SPS时) 可编程增益放大器(PGA): 1-64V/V 单/差分输入配置 内置自校准和系…...
T检验、F检验及样本容量计算学习总结
目录 〇、碎语一、假设检验1.1 两种错误1.2 z检验和t检验1.3 t检验1.3.1 单样本t检验1.3.2 配对样本t检验1.3.3 独立样本t检验1.4 方差齐性检验1.4 卡方检验二、样本容量的计算2.1 AB测试主要的两种应用场景2.2 绝对量的计算公式2.3 率的计算公式参考资料〇、碎语 听到最多的检…...
PDFMathTranslate:让数学公式在PDF翻译中不再痛苦
在日常的论文阅读、教材翻译中,我们经常会遇到一个极其恼人的问题:PDF里的数学公式翻译错乱。即使用上了各种强大的PDF翻译工具,公式依然可能被拆碎、误解,甚至丢失。针对这个痛点,PDFMathTranslate 应运而生。 本文将…...
Docker(二):docker常用命令
一、帮助命令 1、docker 帮助命令 命令说明docker version / docker -v查看docker的版本信息docker info查看docker详细信息docker --help / docker -h查看docker帮助命令,可以查看到相关的其他命令 二、Docker镜像命令 1、docker pull 从远程仓库docker hub 上拉…...
Missashe考研日记-day28
Missashe考研日记-day28 1 专业课408 学习时间:2h学习内容: 今天先是预习了OS关于虚拟内存管理的内容,然后听了一部分视频课,明天接着学。知识点回顾: 1.传统存储管理方式特征:一次性、驻留性。2.局部性原…...
基于esp32实现键值对存储读写c程序例程
在基于 ESP32 的系统中,我们可以使用 NVS(Non-Volatile Storage,非易失性存储)来实现系统配置参数的掉电存储和读写。NVS 是 ESP32 提供的一种存储机制,允许我们将键值对数据存储在闪存中,即使设备掉电&…...
半导体行业如何开展风险管理?有没有半导体风控案例参考?
近年来,供应链中断事件的频发,成了越来越多半导体人的噩梦: ❗ 地缘冲突引爆“氖气危机”,生产成本激增! ❗ 关税政策反复,被迫调整全球供应链布局! ❗ 自然灾害导致工厂停工,原材…...
使用 malloc 函数模拟开辟一个 3x5 的整型二维数组
在 C 语言中,二维数组是非常常见的数据结构,用于表示矩阵或者表格形式的数据。而在动态内存分配的情况下,我们通常使用 malloc 函数来为数组分配内存。这篇博客将介绍如何通过 malloc 动态分配一个 3x5 的整型二维数组,并且使用下…...
Github 热点项目 rowboat 一句话生成多AI智能体!5分钟搭建企业级智能工作流系统
今日高星项目推荐:rowboat凭借1705总星数成为智能协作工具黑马!亮点速递:①自然语言秒变AI流水线——只需告诉它“帮外卖公司处理配送异常”,立刻生成多角色协作方案;②企业工具库即插即用,Python包HTTP接口…...
Redis05-进阶-主从
零、文章目录 Redis05-进阶-主从 1、搭建主从架构 (1)概述 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 (2)集群概况 我们搭建的主从…...
rockermq多线程消费者配置
rockermq多线程消费者配置 增加消费者数量实现消费者consumer多线程消费 或是 task分布式部署,原理一样 都是增加 consumer数量,程序在多线程 处理的地方已经添加过 分布式redisson锁 保证数据在多线程下的唯一性。 配置 task.yml 配置文件 (…...
Spring框架的ObjectProvider用法-笔记
在Spring框架中,ObjectProvider 是一个用于灵活获取Bean实例的接口,它允许开发者以编程方式有条件地或可选地获取Bean,而无需强制依赖注入,避免在Bean不存在时启动失败。 1. ObjectProvider 的核心功能 ObjectProvider 是Spring…...
DigitalOcean推出Valkey托管缓存服务
今天我们激动地宣布推出DigitalOcean的Valkey托管缓存服务,这是我们全新的托管数据库服务,能够无缝替换托管缓存(此前称为托管Redis)。Valkey托管缓存服务在你一直依赖的功能基础上,还提供了增强工具来支持你的开发需求…...
如何通过挖掘需求、SEO优化及流量变现成功出海?探索互联网产品的盈利之道
挖掘需求,优化流量,实现变现:互联网出海产品的成功之路 在当今全球化的数字时代,越来越多的企业和个人选择将业务扩展到国际市场。这一趋势不仅为企业带来了新的增长机会,也为个人提供了通过互联网产品实现盈利的途径…...
ASP.NET图片盗链防护指南
图片盗链(Hotlinking)是指其他网站直接链接到你服务器上的图片资源,这会消耗你的带宽和服务器资源。以下是几种在ASP.NET中防止图片盗链的有效方法: 1. 使用URL重写模块(推荐) 在Web.config中配置URL重写规则: xml <system.webServer> <rewrite> …...
2025-4-25 情绪周期视角复盘(mini)
直接说结论,没有前戏哈,国芳集团这波消费的行情就相当于当时机器人大周期里的DS的一个补涨周期,那么红宝丽就是接替了中毅达的衣钵的趋势穿越龙,趋势穿越龙没有结束,仅仅是主升暂停,高位震荡,后…...
Java求职者面试:从Spring Boot到微服务的技术深度探索
场景:互联网大厂Java求职者面试 角色介绍: 面试官:技术精湛,负责把控面试质量。谢飞机:搞笑的程序员,偶尔能答对问题。 第一轮:基础知识 面试官:谢飞机,你能简要介绍…...
wsl(8) -- 图形界面
1. 前言 记录一些关于wsl2图形界面的事情。 2. x11-apps wsl2默认已支持图形界面,只是我们选择安装的wsl2 ubuntu发行版是非桌面的,其中没有集成桌面应用,Linux的桌面和windows不同,windows的桌面系统是内核的一部分࿰…...
socket套接字-UDP(中)
socket套接字-UDP(上)https://blog.csdn.net/Small_entreprene/article/details/147465441?fromshareblogdetail&sharetypeblogdetail&sharerId147465441&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link UDP服务器…...
Android源码编译命令详解
一、引言 先看下面几条指令,相信编译过Android源码的人都再熟悉不过的。 source setenv.sh lunch make -j8记得最初刚接触Android时,同事告诉我用上面的指令就可以编译Android源码,指令虽短但过几天就记不全或者忘记顺序,每次编译时还需要看看自己的云笔记,冰冷的指令总…...
AI 发展历史与关键里程碑_附AI 模型清单及典型应用场景以及物流自动化适合的模型选择
AI 发展历史与关键里程碑_附AI 模型清单及典型应用场景以及物流自动化适合的模型选择 下面分三部分进行介绍: 1. AI 发展历史与关键里程碑 1950 年:图灵测试 1950 年,艾伦图灵提出“图灵测试”(Turing Test),首次以可检验的方式讨论机器能否“思考”。# 图灵测试示意:…...
MVCC(多版本并发控制)
MVCC(多版本并发控制)是数据库实现高并发事务的核心技术之一,其核心是通过数据多版本解决读写冲突。以下从技术原理、实现细节、应用场景、优缺点四个方面深入解析。 一、技术原理 1. 核心思想 数据多版本化:每…...
可以隐藏列的表格
今天积累一个可以隐藏列的表格的实现方法 需求: 表格中有一部分列可以隐藏,在列名右侧有一个复选框,点击勾选展示,否则隐藏另有一个小工具栏,其中有每一列对应的复选框,点击可以将隐藏的列再次展示 思路…...
学习MySQL的第十二天
夕阳西下 云霞满天 一、存储过程概述 1.1 理解 含义:存储过程的英文是 Stored Procedure。它的思想很简单,就是一组经过预先编译的SQL语句的封装。 执行过程:存储过程预先存储在MySQL服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服…...
用Python做有趣的AI项目4:AI 表情识别助手
本项目将使用 计算机视觉 CNN 模型来识别人脸表情,例如: 开心 😊 | 生气 😠 | 悲伤 😢 | 惊讶 😲 | 厌恶 😒 | 害怕 😱 | 中性 😐 🧠 项目目标 实时摄像头…...
2005-2020年 各省-绿色信贷水平原始数据及测算
各省-绿色信贷水平原始数据及测算(2005-2020年).ziphttps://download.csdn.net/download/2401_84585615/90259771 https://download.csdn.net/download/2401_84585615/90259771 绿色信贷是指金融机构向符合环保要求的企业或项目提供的贷款,旨…...
STM32F103_HAL库+寄存器学习笔记21 - CAN接收过滤器:CPU减负神器,提升系统效率的第一道防线
在STM32F103的CAN总线应用中,硬件过滤器(Filter)承担着关键角色。 本章将从寄存器层面深入剖析CAN接收过滤器的工作机制与配置方法,帮助理解如何高效筛选关键信息,减轻CPU负担。 通过合理使用过滤器,不仅能…...
java_基础Java 转义字符学习笔记
Java 转义字符学习笔记 在Java编程中,转义字符用于表示那些无法直接在代码中表示的字符。以下是一些常用的Java转义字符: \t - 制表符:用于实现对齐功能。\n - 换行符:用于在文本中换行。\ - 反斜杠:表示一个反斜杠字…...
JavaScript基础(七)之web APIs
第二部分:Web APIs 目录 第二部分:Web APIs 五、DOM-节点操作 5.1 日期对象 5.1.1 实例化 5.1.2 时间对象方法 5.1.3 时间戳 5.2 节点操作 5.2.1 DOM节点 5.2.2 查找节点 父节点查找: 子节点查找: 兄弟关系查找: 5.2.3 增加节点 创建节点 5.2.4 删除节点 …...