本节提示:
1、第一个dl例子;
2、tensor和tensor操作;
3、DL如何通过逆向传播和梯度下降达到学习目的。
2.1 输入数据集的格式
,*,)))
network.add(layers.Dense(,,*))
train_images = train_images.astype(
test_images = test_images.reshape((,*))
test_images = test_images.astype(
一方面是reshape,另一方面是转换成float32结构。这两个都是非常常见的操作。
2.5进行one_hot处理
,)
回顾一下这里输入模型的数据
rain_images 是数量*(长*宽)
train_labes 是onehot格式。这两个部分首先要清楚。
并且进行最后的验证
test_loss,test_acc = network.evaluate(test_images,test_labels)
注意,即使是这里的这些非常简单的函数和数据,如果没有GPU的支持,也可能是需要较长时间才能够运行的。
2.7 什么是tensor
经常看见的tensor这个词,所谓tensor,就是数据的容器(a container for data)
比如
np.array(12)就是一个0D tensor
np.array([12,3,6,14])一个列表,就是一个1D tensor
np.array([12,3,6,14],
[6,79,35,1],
[7,80,4,36,2] )
一个列表的组合,就是一个2D tensor
再往上堆,就是3D tensor,也是比较好理解的
2.8 tensor的组成
主要包括3个部分
维度(rank)比如3D tensor显而易见就是3d的 对应ndim
形状(shape)也就是具体填充tensor里面的具体内容 对于shape
种类(data type) float32 或者 float64之类 对于dtype
具体打印一个数据
]
plt.imshow(digit,cmap=plt.cm.binary)
plt.show()
这里这个两次show令人印象深刻。
2.9实际情况下的图像存储
一套256*256的128 gray的图片集可以保存在(128,256,256,1)的4d tensor中;而一套同样大小的彩色图像可以保持在(128,256,256,3)的tensor中。
如果是video data,往往必须是5维数据。