《PyTorch深度学习与大模型部署及微调》根据大多数软件公司对AI大模型开发程序员的标准要求,结合范例程序,针对零基础人群,讲述了从入门到能干活所必需掌握的知识点。
《PyTorch深度学习与大模型部署及微调》内容涵盖了深度学习各种模型的知识点,包括Python和Pytorch的开发环境、神经网络预测技术、用卷积和残差神经网络分类图片的技术、数据预处理和数据增强、用生成对抗网络识别图片的技术、用循环神经网络和Transformer 网络分析文本的技术、用VIT模型分类图片的技术、人脸识别和目标物体识别的技术、音频处理技术,以及DeepSeek本地化部署和微调技术等。
《PyTorch深度学习与大模型部署及微调》根据大多数软件公司对AI大模型开发程序员的标准要求,结合范例程序,针对零基础人群,讲述了从入门到能干活所必需掌握的知识点。
《PyTorch深度学习与大模型部署及微调》内容涵盖了深度学习各种模型的知识点,包括Python和Pytorch的开发环境、神经网络预测技术、用卷积和残差神经网络分类图片的技术、数据预处理和数据增强、用生成对抗网络识别图片的技术、用循环神经网络和Transformer 网络分析文本的技术、用VIT模型分类图片的技术、人脸识别和目标物体识别的技术、音频处理技术,以及DeepSeek本地化部署和微调技术等。
当下深度学习和大模型是一个技术热点,如果读者想学习这方面的技能,那么本书是一个不错的选择。
从知识体系上来看,本书的内容涵盖了深度学习各种模型的知识点,包括但不限于搭建Python和Pytorch的开发环境、用多层感知机预测数据的技术、用卷积和残差神经网络分类图片的技术、用生成对抗网络识别图片的技术、用循环神经网络和Transformer网络分析文本的技术、用ViT模型分类图片的技术、人脸识别和目标物体识别的技术,以及强化学习和音频分析等技术。
此外,本书还用专门的一章讲述了DeepSeek模型在本地部署和微调的技能点。
本书的作者具有多年Python、AI和大模型的开发经验,谙熟AI模型方面高级开发所需要掌握的知识体系,也非常清楚从零基础升级到高级开发人员可能会走的弯路,所以在本书的内容安排上,第一,只讲初学者有必要学习的知识点,而不会导致过度学习;第二,并没有像其他同类书那样给出复杂的数学公式,而是用通俗的文字讲述各种技能;第三,结合具体范例程序讲述各知识点,从而能确保读者学得会并用得上。
本书的全部范例在CPU环境下也均可运行。本书还附带一些范例所必需的数据集,而且对于所有范例,笔者都是逐行讲述了关键要点。所以笔者相信,即使是零基础的初学者,也能通过本书提供的范例及文字,高效地掌握深度学习的相关技能点。本书的范例程序篇幅适中,通俗易懂,还可作为课程设计或毕业设计的参考范例。
本书赠送代码、数据集、PPT和视频讲解,读者扫描下方二维码可获取。
为了让读者能高效掌握本书的知识点和范例,笔者在编写本书时,处处留心、字字斟酌。本书不会出现复杂的数学公式和术语,而是用比较通俗易懂的文字,由浅入深地讲述诸多知识点。
由于编者水平有限,书中难免存在缺点和错误,殷切希望广大读者批评指正。
胡书敏,大连理工大学计算机硕士,有8年Python开发经验,资深Python架构师,目前在知名外企从事Python和AI的开发,有平安、花旗和IBM等大厂的工作经验,同时有约8年的Java技术面试官的经验。出版过《Python爬虫、数据分析与可视化:工具详解与案例实战》、《基于股票大数据分析的Python入门实战》等图书,有大模型搭建、训练和部署的落地经验。
金华,上海浦东软件园股份有限公司培训中心主任,兼任上海张江信息技术专修学院院长,上海市浦东软件园职业技能培训中心主任,上海市人力资源和社会保障局职业技能鉴定中心专家组组长,上海市教育委员会职业教育教学工作诊断与改进专家。长期从事软件和信息技术专业职业标准、培训课程、鉴定方案等研发工作。主审中国劳动社会保障出版社《计算机程序设计员(Java)高级》教材,主编上海市经济和信息化委员会工程师继续教育《大数据与数据挖掘》、《移动互联网》与《大数据可视化技术与应用》等教材。
曹宇,上海城建职业学院机电工程与信息学院,副教授、工程师、二级技师(计算机程序设计员)。
历任高级程序员、项目经理、信息技术总监、专业教师、专业负责人等职务。主导与开发染整生产管理信息系统、EPC企业专利信息协同平台、上海城市管理职业技术学院教务系统管理平台、大宗商品信息管理系统等项目。
参与的《上海市信息港建设政策报告》、《上海信息港集约化信息管线发展研究》分获上海市决策咨询类二等奖和三等奖。
指导学生多项获奖,其中2019上海市星光计划-网站设计项目获得一等奖且排名第一。
第1章 神经网络、深度学习和大模型
1.1?神经网络和深度学习
1.1.1?神经元和神经网络
1.1.2?深度神经网络与深度学习
1.1.3 深度学习的应用场景
1.2 深度学习和大模型
1.3 实现深度学习的Pytorch框架
1.3.1 Pytorch简介
1.3.2 Pytorch的常用模块
1.3.3 搭建Python开发环境
1.3.4 简单安装Pytorch框架
1.4 搭建支持GPU的Pytorch环境
1.4.1 GPU和CUDA
1.4.2 安装基于GPU的Pytorch
1.5 小结和预告
第2章 学习张量,搭建神经网络
2.1 张量的概念和基本操作
2.1.1 标量、向量、矩阵和张量
2.1.2 张量和深度学习的关系
2.1.3 创建张量
2.1.4 张量的常见方法
2.1.5 张量与Numpy数据的相互转换
2.2 张量的常见运算
2.2.1 张量的索引操作
2.2.2 张量的切片操作
2.2.3 转换张量的维度
2.2.4 过滤与条件操作
2.3 搭建第一个神经网络
2.3.1 训练集、验证集和测试集
2.3.2 过拟合与欠拟合
2.3.3 损失函数
2.3.4 神经网络的超参数
2.3.5 搭建神经网络的定式
2.4 小结和预告
第3章 实战神经网络(多层感知机)
3.1 Pytorch自带的数据集
3.1.1 数据集介绍
3.1.2 下载MNIST数据集
3.1.3 可视化MNIST数据集
3.2 激活函数
3.2.1 引入非线性因素的激活函数
3.2.2 sigmoid激活函数
3.2.3 tanh激活函数
3.2.4 ReLU激活函数
3.3 神经网络与损失函数
3.3.1 用MNIST训练,观察损失值
3.3.2 交叉熵损失函数
3.4 优化器与前后向传播
3.4.1 SGD优化器与梯度下降
3.4.2 前向传播与后向传播
3.4.3 SGD引入Momentum参数
3.4.4 Adagrad、RMSprop和Adam优化器
3.5 用神经网络作预测
3.6 小结和预告
第4章 用卷积神经网络识别图片
4.1 下载并使用CIFAR-10数据集
4.1.1 获取CIFAR-10数据集
4.1.2 观察CIFAR-10数据集
4.2 卷积神经网络概述
4.2.1 二维卷积的计算范例
4.2.2 填充和移动步长
4.2.3 卷积通道数值说明
4.2.4 二维卷积方法及其参数
4.2.5 池化层及池化策略
4.2.6 整体结构及工作流程
4.3 用MNIST训练卷积神经网络
4.3.1 搭建模型,观察训练结果
4.3.2 观察模型的结构
4.3.3 用卷积神经网络预测结果
4.4 用CIFAR-10训练卷积神经网络
4.4.1 卷积及池化后的尺寸计算方式
4.4.2 搭建及训练模型
4.4.3 用模型预测图片分类
4.5 小结和预告
第5章 实战残差神经网络
5.1 梯度爆炸和梯度消失
5.1.1 可视化观察梯度下降
5.1.2 后向传播、梯度消失和梯度爆炸
5.1.3 梯度消失和梯度爆炸的解决方法
5.2 搭建残差神经网络
5.2.1 残差模块的结构
5.2.2 搭建残差神经网络的方法
5.3 残差神经网络与图片分类
5.3.1 识别MNIST手写数字体
5.3.2 分类CIFAR-10图片
5.4 小结和预告
第6章 对模型的实用性操作
6.1 可视化模型
6.1.1 用PyTorchViz可视化模型
6.1.2 用TensorboardX可视化模型
6.1.3 用TensorboardX观察训练过程
6.2 保存和加载模型
6.2.1 保存模型
6.2.2 加载模型
6.3 数据预处理和数据增强
6.3.1 归一化处理
6.3.2 图片的随机裁剪
6.3.3 图片的中心裁剪
6.3.4 图片缩放
6.3.5 水平、垂直与随机角度翻转图片
6.3.6 随机灰度化
6.3.7 亮度、对比度、饱和度和色度变换
6.4 小结和预告
第7章 基于深度学习的回归分析和聚类分析
7.1 回归分析
7.1.1 获取California房价数据集
7.1.2 用神经网络分析预测房价
7.1.3 获取股票数据集
7.1.4 用神经网络分析股价
7.2 聚类分析
7.2.1 分类葡萄酒数据
7.2.2 分类鸢尾花数据
7.2.3 用神经网络预测股票涨跌
7.3 小结和预告
第8章 迁移学习实战
8.1 迁移学习的概念和常用方法
8.1.1 迁移学习的两大实现方法
8.1.2 可供使用的预训练模型
8.2 基于微调参数的迁移学习
8.2.1 ResNet18和ResNet34
8.2.2 用数据集训练微调参数
8.3 基于特征提取器的迁移学习
8.3.1 获取蚂蚁和蜜蜂数据集
8.3.2 对特征提取器的说明
8.3.3 基于特征提取器的迁移学习
8.4 小结和预告
第9章 基于词向量和模型的文本分析
9.1 文本分析的基础:向量化
9.1.1 文本向量化概述
9.1.2 词频-逆频率
9.1.3 基于词频-逆频率的向量化示例
9.2 分词、向量化和词嵌入
9.2.1 基于分词的向量化
9.2.2 基于向量化的相似度分析
9.2.3 深入了解词嵌入和词向量
9.2.4 基于FastText模型的词嵌入
9.2.5 基于词嵌入的相似度分析
9.3 基于卷积模型的情感分析
9.3.1 Imdb数据集介绍
9.3.2 用GloVe库实现向量化
9.3.3 nn.Embedding与卷积模型
9.3.4 训练模型,预测新文本的情感
9.4 基于循环神经网络的情感分析
9.4.1 单向神经网络
9.4.2 双向神经网络
9.4.3 基于双向神经网络的情感分析
9.5 小结和预告
第10章 基于生成对抗网络的图片识别实战
10.1 生成对抗网络概述
10.1.1 用两个模型来对抗
10.1.2 生成器和判别器损失值的计算方式
10.1.3 生成对抗网络的训练过程
10.2 基于MNIST数据集的实战
10.2.1 训练过程和损失值
10.2.2 训练与预测的代码分析
10.3 生成对抗卷积网络实战
10.3.1 STL-10数据集分析
10.3.2 基于卷积的生成对抗网络
10.3.3 训练并拟合STL图片
10.4 小结和预告
第11章 人脸检测和人脸识别技术实战
11.1 人脸检测和人脸识别技术概述
11.1.1 人脸检测相关算法介绍
11.1.2 人脸识别技术介绍
11.1.3 支持人脸检测和识别的类库
11.1.4 获取LFW人脸数据集
11.1.5 安装OpenCV库
11.2 基于Dlib的人脸检测
11.2.1 绘制人脸范围
11.2.2 获取人脸特征点
11.3 用对抗网络拟合人脸
11.3.1 数据集介绍
11.3.2 用基于卷积的生成对抗网络拟合人脸
11.4 实战人脸识别技术
11.4.1 基于Face_recognition的人脸识别技术
11.4.2 基于MTCNN的人脸识别技术
11.5 小结和预告
第12章 音频处理技术实战
12.1 必要的准备工作
12.1.1 安装torchaudio库
12.1.2 下载音频数据集
12.2 音频知识点概述
12.2.1 时域图和频域图
12.2.2 声谱图
12.2.3 梅尔频谱
12.3 用卷积模型分类音频
12.3.1 加载数据集的特征值和目标值
12.3.2 用交叉验证扩充数据集
12.3.3 搭建卷积神经网络模型
12.3.4 训练、验证及预测
12.4 小结和预告
第13章 目标检测技术实战
13.1 目标检测技术概述
13.1.1 传统目标检测的流程及缺陷
13.1.2 基于深度学习的目标检测技术
13.1.3 目标检测的相关概念
13.2 通过数据集初识目标标记
13.2.1 介绍VOC 2007数据集
13.2.2 展示目标标记效果
13.3 用模型标记目标
13.3.1 Faster R-CNN模型
13.3.2 用Faster R-CNN模型标记目标
13.3.3 用SSD模型标记目标
13.3.4 用Yolo模型标记目标
13.4 小结和预告
第14章 强化学习实战
14.1 强化学习概述
14.1.1 强化学习的概念和流程
14.1.2 强化学习的算法框架
14.1.3 PPO算法概述
14.1.4 基于PPO算法的模型概述
14.1.5 安装强化学习的环境类库
14.2 基于倒立摆环境的PPO强化学习
14.2.1 倒立摆问题概述
14.2.2 搭建PPO网络模型
14.2.3 引用PPO模型,实现强化学习
14.3 基于着陆舱环境的PPO强化学习
14.3.1 着陆舱降落问题概述
14.3.2 搭建 PPO网络模型
14.3.3 实现强化学习的案例分析
14.4 小结和预告
第15章 基于Transformer模型的自然语言翻译
15.1 Transformer模型概述
15.1.1 Transformer模型的架构和构成
15.1.2 注意力机制和计算规则
15.1.3 自注意力和多头注意力机制
15.2 基于Transformer模型的自然语言翻译流程
15.2.1 翻译的主要流程
15.2.2 下载训练数据集和分词模型
15.2.3 搭建文本翻译的Transformer模型
15.2.4 训练Transformer模型
15.2.5 尝试翻译,观察训练成果
15.3 小结和预告
第16章 ViT模型实战
16.1 ViT的概念和架构
16.1.1 ViT的组成架构
16.1.2 ViT分类图片的大致流程
16.2 简要版ViT分类图片实战
16.2.1 数据集分析
16.2.2 搭建简要版的ViT模型
16.2.3 训练模型,观察分类结果
16.3 完整版ViT分类图片实战
16.3.1 实现注意力机制的类
16.3.2 实现MLP层
16.3.3 实现Transformer编码器层
16.3.4 搭建完整版的ViT模型
16.3.5 训练模型,观察分类结果
16.4 小结和预告
第17章 DeepSeek本地化部署和微调实战
17.1 DeepSeek模型概述
17.1.1 大语言模型概述
17.1.2 DeepSeek大语言模型简介
17.2 DeepSeek本地化部署
17.2.1 下载DeepSeek
17.2.2 观察本地化部署效果
17.3 微调DeepSeek
17.3.1 获取EmoLLM数据集
17.3.2 基于LoRA的微调方法
17.3.3 微调DeepSeek大模型
17.4 小结和预告