第1章 AI与面向对象Python\t1
1.1 AI思维简史\t2
1.2 Python语言与AI\t2
1.3 布置Python开发环境\t3
1.4 开始编写Python程序\t6
1.5 面向对象(Object-Oriented)入门\t10
1.5.1 对象(Object)\t10
1.5.2 消息(Message)\t10
1.5.3 事件(Event)\t10
1.6 软件中的对象(Object)\t11
1.6.1 抽象\t11
1.6.2 抽象表示\t12
1.6.3 数据和函数\t12
1.6.4 历史的足迹\t12
1.7 对象与变量(Variable)\t13
1.7.1 数据类型\t13
1.7.2 变量即对象\t14
1.8 对象与函数(Function)\t17
1.8.1 函数的角色\t17
1.8.2 事件驱动观念\t18
1.9 自然界的分类\t19
1.9.1 分类与抽象\t19
1.9.2 对象与类\t19
1.9.3 类的体系\t20
1.10 软件的分类\t21
1.10.1 类是数据类型\t21
1.10.2 类的用途:描述对象的属性与行为\t22
第2章 Python的对象与类\t24
2.1 OOP入门\t25
2.2 对象的概念\t25
2.3 对象分类与组合\t27
2.3.1 类的永恒性\t27
2.3.2 将对象分门别类\t27
2.3.3 对象的组合关系\t28
2.4 AKO抽象关系\t30
2.5 对象行为与接口\t36
2.5.1 接口入门\t36
2.5.2 消息传递与对象行为\t37
2.5.3 对象的运算行为\t38
第3章 善用类\t46
3.1 如何描述对象:善用类\t47
3.2 如何创建软件对象\t48
3.3 对象参考\t49
3.4 构造函数\t52
3.5 子类如何创建对象\t54
第4章 对象的组合\t58
4.1 认识 self 参考\t59
4.2 建立对象的包含关系\t60
4.3 self 参考值的妙用\t64
4.4 包容多样化物件\t71
4.5 集合对象\t73
第5章 类的封装性\t76
5.1 对象的封装性\t77
5.2 类:创造对象的封装性\t77
5.3 类的私有属性与函数\t81
5.4 类级别的属性\t89
5.5 类级别的函数\t93
第6章 类的继承体系\t96
6.1 继承的意义\t97
6.2 建立类继承体系\t98
6.3 函数覆写的意义\t108
第7章 活用抽象类\t111
7.1 抽象类与继承体系\t112
7.2 Python抽象类的表示法\t112
7.2.1 一般具象类\t112
7.2.2 抽象类\t114
7.3 从“抽象类”衍生“具象类”\t115
7.4 抽象类的妙用:默认行为\t118
7.4.1 Python默认行为的表示法\t118
7.4.2 默认行为的意义\t120
7.5 默认函数的妙用:反向调用\t120
第8章 发挥“多态性”\t127
8.1 “多态性”的意义\t128
8.1.1 自然界的多态性\t128
8.1.2 多态性物体\t129
8.2 多态函数\t130
8.3 可覆写函数\t132
第9章 如何设计抽象类\t138
9.1 抽象:抽出共同的现象\t139
9.2 抽象的步骤\t141
9.2.1 Step 1: 抽出名称、引数及内容都一致的函数\t147
9.2.2 Step 2: 抽出名称相同、参数及内容有差异的函数\t149
9.3 洞悉“变”与“不变”\t152
9.4 着手设计抽象类\t154
第10章 接口与抽象类\t160
10.1 接口的意义\t161
10.2 以 Python 抽象类来实现接口\t162
10.3 接口设计实例一:并联电池对象\t167
10.3.1 不理解原理但也能用\t167
10.3.2 实现步骤\t169
10.4 接口设计实例二:串联电池对象\t172
10.4.1 基本设计\t172
10.4.2 实现步骤\t173
10.4.3 总结\t176
10.5 接口设计实例三:Chain Of Responsibility设计模式\t177
第11章 不插电学AI\t183
11.1 “不插电学AI”的意义\t184
11.2 AlphaGo的惊人学习能力\t184
11.3 范例:一只老鼠的探索及学习\t184
11.4 记录老鼠的探索选择及结果\t186
11.5 老鼠当教练:训练AI机器人\t188
11.5.1 以简单算数,让机器人表达智能\t188
11.5.2 机器人智能的提升过程\t189
11.5.3 一回生、两回熟\t191
11.5.4 三回变高手\t192
11.5.5 第四回合训练:迈向完美\t194
11.5.6 重新检测一次\t195
第12章 撰写单层Perceptron程序\t198
12.1 开始“插电学AI”:使用Python\t199
12.2 展开第#0组数据的训练\t200
12.3 进行更多组数据的训练\t202
12.4 加入学习率\t206
12.5 增添一个Training类\t209
12.6 一个更详细的Perceptron代码\t213
第13章 使用TensorFlow编程\t225
13.1 TensorFlow入门\t226
13.2 安装TensorFlow环境\t226
13.3 开始使用TensorFlow\t230
13.4 展开第1回合的训练:以老鼠教练为例\t237
13.5 展开100回合更周全的训练\t240
13.6 设计Perceptron类\t243
13.7 采用TensorFlow的损失函数\t245
13.8 撰写多层Perceptron程序\t248
第14章 TensorFlow应用范例\t251
14.1 mnist手写数字识别范例\t252
14.2 开始训练 NN 模型\t256
14.3 改进 NN 模型:建立两层Perceptron\t260
14.4 改进 NN 模型:建立三层Perceptron\t263
14.5 撰写一个MLP类\t265
第15章 如何导出AI模型\t268
15.1 导出模型入门\t269
15.2 机器人:像老鼠一样学习\t270
15.3 基于TensorFlow建立AI模型\t270
15.4 存入Checkpoint文件\t272
15.5 读取Checkpoint文件\t275
15.6 读取流图定义文件\t277
15.7 导出模型:写入.pb文件\t280
15.8 导入模型,读取.pb文件\t284