描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121370113
作者高焕堂通过他40多年的工作经历,通过简单易懂的AI模型训练案例,教会读者如何利用Python与TensorFlow软件平台进行学习并掌握AI编程。
文笔生动有趣,案例简单易上手,是中初级读者快速掌握Python的很好的入门图书。
高焕堂老师在中国台湾/大陆都有多年的实体从业经验,并为华为、腾讯(成都)和百度的高级设计师和IT架构师授课。
随着AI(人工智能)技术及应用范围不断地扩大,Python程序代码的复杂度也逐步增高,这就要求Python开发者需要具备面向对象(Object-Oriented)思维和基本技术。本书的*部分,从OOP Python出发,由浅入深,循序渐进,帮读者建立扎实的AI软件开发的技术根基。本书的第二部分,以AI技术为起点,以”老鼠学习”为范例,讲解如何以Python来撰写简单的AI模型(如Perceptron模型),并实际训练使用,让读者了解AI机器学习的原理、以及如何以Python程序来进行实践。本书的*后一部分,以AI专业的TensorFlow平台为例,说明如何善用这种专业的AI平台来设计专业NN(神经网络)模型,孰悉其训练及应用过程。将您在TensorFlow环境所训练好的AI模型,移植到Android手机或机器人(如华硕Zenbo)上,大大提升终端设备的智能化、扩大应用,为用户来创造更大商机。
第1章 AI与面向对象Python 1
1.1 AI思维简史 2
1.2 Python语言与AI 2
1.3 布置Python开发环境 3
1.4 开始编写Python程序 6
1.5 面向对象(Object-Oriented)入门 10
1.5.1 对象(Object) 10
1.5.2 消息(Message) 10
1.5.3 事件(Event) 10
1.6 软件中的对象(Object) 11
1.6.1 抽象 11
1.6.2 抽象表示 12
1.6.3 数据和函数 12
1.6.4 历史的足迹 12
1.7 对象与变量(Variable) 13
1.7.1 数据类型 13
1.7.2 变量即对象 14
1.8 对象与函数(Function) 17
1.8.1 函数的角色 17
1.8.2 事件驱动观念 18
1.9 自然界的分类 19
1.9.1 分类与抽象 19
1.9.2 对象与类 19
1.9.3 类的体系 20
1.10 软件的分类 21
1.10.1 类是数据类型 21
1.10.2 类的用途:描述对象的属性与行为 22
第2章 Python的对象与类 24
2.1 OOP入门 25
2.2 对象的概念 25
2.3 对象分类与组合 27
2.3.1 类的永恒性 27
2.3.2 将对象分门别类 27
2.3.3 对象的组合关系 28
2.4 AKO抽象关系 30
2.5 对象行为与接口 36
2.5.1 接口入门 36
2.5.2 消息传递与对象行为 37
2.5.3 对象的运算行为 38
第3章 善用类 46
3.1 如何描述对象:善用类 47
3.2 如何创建软件对象 48
3.3 对象参考 49
3.4 构造函数 52
3.5 子类如何创建对象 54
第4章 对象的组合 58
4.1 认识 self 参考 59
4.2 建立对象的包含关系 60
4.3 self 参考值的妙用 64
4.4 包容多样化物件 71
4.5 集合对象 73
第5章 类的封装性 76
5.1 对象的封装性 77
5.2 类:创造对象的封装性 77
5.3 类的私有属性与函数 81
5.4 类级别的属性 89
5.5 类级别的函数 93
第6章 类的继承体系 96
6.1 继承的意义 97
6.2 建立类继承体系 98
6.3 函数覆写的意义 108
第7章 活用抽象类 111
7.1 抽象类与继承体系 112
7.2 Python抽象类的表示法 112
7.2.1 一般具象类 112
7.2.2 抽象类 114
7.3 从“抽象类”衍生“具象类” 115
7.4 抽象类的妙用:默认行为 118
7.4.1 Python默认行为的表示法 118
7.4.2 默认行为的意义 120
7.5 默认函数的妙用:反向调用 120
第8章 发挥“多态性” 127
8.1 “多态性”的意义 128
8.1.1 自然界的多态性 128
8.1.2 多态性物体 129
8.2 多态函数 130
8.3 可覆写函数 132
第9章 如何设计抽象类 138
9.1 抽象:抽出共同的现象 139
9.2 抽象的步骤 141
9.2.1 Step 1: 抽出名称、引数及内容都一致的函数 147
9.2.2 Step 2: 抽出名称相同、参数及内容有差异的函数 149
9.3 洞悉“变”与“不变” 152
9.4 着手设计抽象类 154
第10章 接口与抽象类 160
10.1 接口的意义 161
10.2 以 Python 抽象类来实现接口 162
10.3 接口设计实例一:并联电池对象 167
10.3.1 不理解原理但也能用 167
10.3.2 实现步骤 169
10.4 接口设计实例二:串联电池对象 172
10.4.1 基本设计 172
10.4.2 实现步骤 173
10.4.3 总结 176
10.5 接口设计实例三:Chain Of Responsibility设计模式 177
第11章 不插电学AI 183
11.1 “不插电学AI”的意义 184
11.2 AlphaGo的惊人学习能力 184
11.3 范例:一只老鼠的探索及学习 184
11.4 记录老鼠的探索选择及结果 186
11.5 老鼠当教练:训练AI机器人 188
11.5.1 以简单算数,让机器人表达智能 188
11.5.2 机器人智能的提升过程 189
11.5.3 一回生、两回熟 191
11.5.4 三回变高手 192
11.5.5 第四回合训练:迈向完美 194
11.5.6 重新检测一次 195
第12章 撰写单层Perceptron程序 198
12.1 开始“插电学AI”:使用Python 199
12.2 展开第#0组数据的训练 200
12.3 进行更多组数据的训练 202
12.4 加入学习率 206
12.5 增添一个Training类 209
12.6 一个更详细的Perceptron代码 213
第13章 使用TensorFlow编程 225
13.1 TensorFlow入门 226
13.2 安装TensorFlow环境 226
13.3 开始使用TensorFlow 230
13.4 展开第1回合的训练:以老鼠教练为例 237
13.5 展开100回合更周全的训练 240
13.6 设计Perceptron类 243
13.7 采用TensorFlow的损失函数 245
13.8 撰写多层Perceptron程序 248
第14章 TensorFlow应用范例 251
14.1 mnist手写数字识别范例 252
14.2 开始训练 NN 模型 256
14.3 改进 NN 模型:建立两层Perceptron 260
14.4 改进 NN 模型:建立三层Perceptron 263
14.5 撰写一个MLP类 265
第15章 如何导出AI模型 268
15.1 导出模型入门 269
15.2 机器人:像老鼠一样学习 270
15.3 基于TensorFlow建立AI模型 270
15.4 存入Checkpoint文件 272
15.5 读取Checkpoint文件 275
15.6 读取流图定义文件 277
15.7 导出模型:写入.pb文件 280
15.8 导入模型,读取.pb文件 284
随着AI(人工智能)技术及其应用范围的不断扩大,以及应用环境的不断改善,Python(目前最受欢迎的语言之一)代码的复杂度也在逐步提升。Python开发者要具备面向对象(Object-Oriented)的思维和基础技术,这是非常有必要的。
本书第1~9章从OOP Python应用出发,由浅入深,循序渐进,帮助用户建立扎实的AI软件开发的技术根基。
本书第10~12章以AI技术简史为起点,以机器学习为范例,说明如何用Python来撰写简单的AI模型(如Perceptron模型)程序,并通过实际训练,让用户了解机器学习的原理,以及如何使用Python程序来进行调试。
本书第13~15章以专业的TensorFlow平台为例,说明如何利用这种平台来设计NN(神经网络)模型,熟悉其训练及应用过程。
最后,将用户在TensorFlow环境下训练好的AI模型,移植到Android手机、机器人(如华硕Zenbo)或树莓派(RPi)上,大大提升终端设备的智能性,从而创造更大的商机。希望本书能陪伴你驰骋于Python&TensorFlow技术领域之中,使你在未来的道路上大展宏图。
高焕堂
谨识于 2019年8月
评论
还没有评论。