本书在总结Transformer模型核心框架的基础上,扩展了基于Transformer模型的其他模型框架,更在基础模型上介绍了基于Transformer模型的优化模型:
■易教易学 系统阐述理论的同时,结合图片展示与代码解析,既为初学者提供容易入门的基础理论,也为广大人工智能领域的学生及研究者提供全面的案例。
■前后衔接 强调知识体系和分析方法的前后连贯性,并妥善处理好内容的衔接性。
■技术前沿 介绍Transformer模型基础理论及Transformer模型的优化模型,并介绍其变体模型(GPT、MoE等)在人工智能领域的新进展。激发读者的学习兴趣,启迪创新思想。
本书以实战项目为主线,以理论基础为核心,引导读者渐进式地学习Transformer模型。
本书分为5篇共17章。Transformer模型基础篇(第1~5章)重点介绍Transformer模型框架。把Transformer模型掰开,从最基础的输入出发,按照模型框架,一点一点走进Transformer模型的内部,直到最终的模型输出;Transformer模型NLP领域篇(第6章和第7章)重点介绍Transformer模型在自然领域中的应用,了解ChatGPT的往事今生;Transformer模型计算机视觉篇(第8~10章)重点介绍Transformer模型在计算机视觉任务中的应用,让Transformer模型可以看到真实的世界;Transformer模型进阶篇(第11~13章)重点介绍Transformer模型在多模态领域上的应用,以及与其他模型的混合模型;Transformer模型实战篇(第14~17章)从环境搭建到NLP领域,计算机视觉领域,音频领域等的代码实战,彻底讲解Transformer模型的运行机制。
本书的每个章节、每个知识点都有对应的代码解析与精美图片展示,让读者能够更加容易理解Transformer模型的各个核心知识点。
本书既适合初学者入门,精心设计的案例对于工作多年的开发者也有参考价值,并可作为高等院校和培训机构相关专业的教学参考书。
教学课件(PPT)
本书源码
第 一 部 分
第1章文件、路径与缓存(122min)
1.1使用Qt 6读写文件
1.1.1文件抽象类QIODevice
1.1.2字节数组类QByteArray
1.1.3使用QFile类读写文件
1.2使用流方式读写文件
1.2.1文本流类QTextStream
1.2.2使用QFile和QTextStream读写文件
1.2.3数据流QDataStream类
1.2.4使用QFile和QDataStream读写二进制文件
1.2.5使用QDataStream读写类对象
1.3文件信息与路径管理
1.3.1文件信息类QFileInfo
1.3.2路径管理类QDir
1.3.3文件和路径监视器类QFileSystemWatcher
1.4临时数据
1.4.1临时文件类QTemporaryFile
1.4.2临时路径类QTemporaryDir
1.4.3存盘类QSaveFile
1.4.4缓存类QBuffer
1.5小结
第2章基于项的控件(124min)
2.1列表控件QListWidget及其项QListWidgetItem
2.1.1列表控件QListWidget
2.1.2QListWidgetItem类
2.1.3典型应用
2.2表格控件QTableWidget及其项QTableWidgetItem
2.2.1表格控件QTableWidget
2.2.2QTableWidgetItem类
2.2.3使用表格控件处理CSV文件
2.3树结构控件QTreeWidget及其项QTreeWidgetItem
2.3.1树结构控件QTreeWidget
2.3.2QTreeWidgetItem类
2.3.3使用Qt Designer创建树结构控件
2.4用表格控件处理Excel文件
2.4.1安装Active Qt模块
2.4.2典型应用
2.5小结
第 二 部 分
第3章基于模型/视图的控件(72min)
3.1模型/视图简介
3.1.1Model/View/Delegate框架
3.1.2数据模型Model
3.1.3视图控件View
3.1.4代理控件Delegate
3.1.5数据项索引QModelIndex
3.1.6抽象数据模型QAbstractItemModel
3.1.7应用例题
3.2QStringListModel与QListView的用法
3.2.1文本列表模型QStringListModel
3.2.2列表视图控件QListView
3.2.3应用例题
3.3QFileSystemModel与QTreeView的用法
3.3.1文件系统模型QFileSystemModel
3.3.2树视图控件QTreeView
3.3.3典型应用
3.4QStandardItemModel与QTableView的用法
3.4.1标准数据模型QStandardItemModel
3.4.2表格视图控件QTableView
3.4.3典型应用
3.5QItemSelectionModel与QStyledItemDelegate的用法
3.5.1选择模型QItemSelectionModel
3.5.2代理控件QStyledItemDelegate
3.5.3典型应用
3.6小结
第4章数据库(88min)
4.1使用Qt 6操作数据库
4.1.1应用Qt SQL模块
4.1.2数据库连接类QSqlDatabase
4.1.3数据库查询类QSqlQuery
4.1.4操作SQLite数据库
4.2操作MySQL数据库
4.2.1安装MySQL数据库的集成开发环境
4.2.2安装MySQL Connector/ODBC
4.2.3操作数据表
4.3数据库查询模型类QSqlQueryModel
4.3.1QSqlQueryModel类
4.3.2典型应用
4.4数据库表格模型类QSqlTableModel
4.4.1QSqlTableModel类
4.4.2记录类QSqlRecord
4.4.3字段类QSqlField
4.4.4典型应用
4.5关系表格模型类QSqlRelationalTableModel
4.5.1QSqlRelationalTableModel类
4.5.2数据映射类QSqlRelation
4.5.3典型应用
4.6小结
第 三 部 分
第5章Graphics/View绘图(77min)
5.1Graphics/View简介
5.1.1Graphics/View绘图框架
5.1.2Graphics/View的坐标系
5.1.3典型应用
5.2Graphics/View相关类
5.2.1图像视图类QGraphicsView
5.2.2图像场景类QGraphicsScene
5.2.3图形项类QGraphicsItem
5.2.4标准图形项
5.3代理控件和图形控件
5.3.1代理控件类QGraphicsProxyWidget
5.3.2图形控件类QGraphicsWidget
5.3.3图形控件布局类
5.3.4图形效果类
5.4小结
第6章绘制二维图表(139min)
6.1图表视图和图表
6.1.1绘制简单的折线图
6.1.2图表视图类QChartView
6.1.3图表类QChart
6.2数据序列
6.2.1数据序列抽象类QAbstractSeries
6.2.2绘制XY图(折线图、散点图、样条曲线图)
6.2.3绘制面积图
6.2.4绘制饼图
6.2.5绘制条形图
6.2.6绘制蜡烛图
6.2.7绘制箱形图
6.3绘制极坐标图表
6.3.1极坐标图表类QPolarChart
6.3.2应用例题
6.4设置图表的坐标轴
6.4.1抽象坐标轴类QAbstractAxis
6.4.2数值坐标轴类QValueAxis
6.4.3对数坐标轴类QLogValueAxis
6.4.4条形图坐标轴类QBarCategoryAxis
6.4.5条目坐标轴类QCategoryAxis
6.4.6时间坐标轴类QDateTimeAxis
6.5设置图表的图例
6.5.1图例类QLegend
6.5.2图例标志类QLegendMarker
6.6小结
第7章绘制三维图表(129min)
7.1Qt Data Visualization子模块概述
7.1.1三维图表类
7.1.2三维数据序列类
7.1.3三维坐标轴类
7.1.4绘制一个简单的三维图表
7.1.5三维图表抽象类QAbstract3DGraph
7.1.6三维场景类Q3DScene和三维相机类Q3DCamera
7.1.7三维坐标类QVector3D
7.1.8三维主题类Q3DTheme
7.1.9三维数据序列抽象类QAbstract3DSeries
7.2绘制三维散点图
7.2.1三维散点图表类Q3DScatter
7.2.2三维散点数据序列类QScatter3DSeries
7.2.3三维散点数据代理类QScatterDataProxy
7.2.4典型应用
7.3绘制三维曲面图、三维地形图
7.3.1三维曲面图表类Q3DSurface
7.3.2三维曲面数据序列类QSurface3DSeries
7.3.3三维曲面数据代理类QSurfaceDataProxy
7.3.4绘制三维曲面图
7.3.5绘制三维地形图
7.4绘制三维柱形图
7.4.1三维柱形图表类Q3DBars
7.4.2三维柱形数据序列类QBar3DSeries
7.4.3三维柱形数据代理类QBarDataProxy
7.4.4应用例题
7.5设置坐标轴
7.5.1三维坐标轴抽象类QAbstract3DAxis
7.5.2三维数值坐标轴类QValue3DAxis
7.5.3三维条目坐标轴类QCategory3DAxis
7.6小结
第 四 部 分
第8章网络(100min)
8.1主机信息查询
8.1.1主机信息类QHostInfo
8.1.2网络接口类QNetworkInterface
8.2TCP通信
8.2.1QTcpServer类
8.2.2QTcpSocket类
8.2.3TCP服务器端程序设计
8.2.4TCP客户端程序设计
8.3UDP通信
8.3.1QUdpSocket类
8.3.2单播、广播程序设计
8.3.3UDP组播程序设计
8.4基于HTTP的通信
8.4.1HTTP请求类QNetworkRequest
8.4.2HTTP网络操作类QNetworkAccessManager
8.4.3HTTP响应类QNetworkReply
8.4.4典型应用
8.5小结
第9章多媒体(67min)
9.1多媒体模块概述
9.2播放音频
9.2.1QMediaPlayer类
9.2.2QAudioOutput类
9.2.3创建MP3音频播放器
9.2.4QSoundEffect类
9.2.5创建WAV音频播放器
9.3录制音频
9.3.1媒体捕获器类QMediaCaptureSession
9.3.2媒体录制类QMediaRecorder
9.3.3创建音频录制器
9.4播放视频
9.4.1使用QVideoWidget类播放视频
9.4.2使用QGraphicsVideoItem类播放视频
9.5应用摄像头
9.5.1摄像头设备类QCameraDevice
9.5.2摄像头控制接口类QCamera
9.5.3摄像头拍照类QImageCapture
9.5.4应用摄像头拍照
9.5.5媒体格式类QMediaFormat
9.5.6应用摄像头录像
9.6小结
第10章应用打印机(48min)
10.1打印机信息与打印机
10.1.1打印机信息类QPrinterInfo
10.1.2打印机类QPrinter
10.1.3打印窗口界面
10.1.4打印控件内容
10.2打印对话框、打印预览对话框、打印预览控件
10.2.1打印对话框类QPrintDialog
10.2.2打印预览对话框类QPrintPreviewDialog
10.2.3打印预览控件类QPrintPreviewWidget
10.3PDF文档生成器
10.4小结
第11章其他类和技术(49min)
11.1QAxObject类
11.1.1常用方法
11.1.2读写Word文件
11.1.3读写Excel文件
11.2QAxWidget类
11.2.1常用方法
11.2.2典型应用
11.3QRandomGenerator类
11.4多语言界面
11.4.1基本步骤
11.4.2静态方法tr()的应用
11.4.3典型应用
11.5串口编程
11.5.1QSerialPortInfo类
11.5.2QSerialPort类
11.6小结
第 五 部 分
第12章QML与Qt Quick(9min)
12.1QML与Qt Quick的关系
12.1.1QML简介
12.1.2Qt Quick简介
12.1.3Qt Quick和Qt Widgets的窗口界面对比
12.2应用QML
12.2.1使用Python调用QML文件
12.2.2QML的事件处理
12.3小结
附录A根据可执行文件制作程序安装包
附录BQApplication类的常用方法