1. 如何用代码实现推理
1.1 介绍
- Tensorflow是实现深度学习算法里的领先的框架之一。
- Tensorflow和PyTorch一样都很常用。这节课会着重于Tensorflow,。
- 神经网络特点之一:是相同的算法可以被应用到很多不同的应用程序里。
1.2 案例1:咖啡豆的烘焙问题。
- 温度太低/时间太短—undercoked
- 温度太高/时间太长—overcoked
- 用神经网络来优化咖啡豆的烘焙。
- temp 200,duration 17: 算法会告诉我们它是否为好的咖啡。

5. 将input输入
6. layer_1里设置3个neurons,activation为sigmoid函数的神经网络算法。
7. dense为这层layer的类型。

8. 继续设置layer_2
9. a2的值为output,用a2来跟threshold比较。

1.3 案例2: 手写数字的分类问题。

2. Tensorflow中的数据形式【code理解】
【了解Tensorflow如何处理数据】
2.1 Tensorflow如何表达数据。
- double squared brackets [[]]表示什么???【表示2D数据】

2. Numpy如何储存vector和matrices???
- 用array来表示(按行存,每行用一个list表示)

3. Numpy arrays的区别
1. 是1行2列的matrix。【row vector】
2. 是2行1列的matrix。【column vector】
3. 只有一个squared bracket:【1D“vector”, 而不是2维的matrix。只是一组数据的list】
4. 在Tensorflow里用2D形式来表达数据。跟线性/逻辑回归不同,它俩用1D。

5. 把a1打印出来的结果如图
6. float32: 表示这个float在计算机占32bits的内存。
7. Tensor是一种数据类型,由Tensorflow创立团队建设的,能有效储存matrices的计算。
8. 使用a1.numpy()可以将Tensor数据类型转回Numpy array。


3. 搭建一个神经网络
【了解另一种构建neural networks的code方法】
- 回顾: 如图,这是上面学习的一种实现neural network的方法。

- 另一种方法:
(1)设置layer1、layer2。然后不用手动获取数据(a1,a2)传递到下一层。
(2)使用sequential()函数将layer1、layer2串起来。
(3)将training data输入进去。
(4)使用model.complie() 、model.fit(x,y)
(5)使用model.predict()让计算机帮忙做forward propagation,预测x_new值。

- 使用新方法,对手写数字进行预测。
- 设置layer信息。
- 使用sequential()指定什么是layer1,layer2等等。
- 使用.compile() 将model编译。
- 输入input
- 使用.fit(x,y)
- 使用模型进行预测model.predict(x_new)。

- 这里layer1-3可以直接写进sequential()里面。
