Tensorflow学习笔记1-利用神经网络对Fashion MNIST数据集分类

本文是Tensorflow学习笔记的第一部分,主要介绍了如何利用神经网络对Fashion MNIST数据集进行图像分类。首先讲解了数字图像的数组表示,包括RGB颜色模型和灰度图像的概念。接着展示了如何使用matplotlib将数组显示为图像。然后详细介绍了Fashion MNIST数据集的结构,并提供了加载数据的函数。最后,简要提到了模型训练、评估和预测的步骤。
摘要由CSDN通过智能技术生成

引言

最近尝试学习tensorflow框架,计划按照教程进行操作,理解机制及使用的重要函数。任务1是:训练首个神经网络:基本分类。这一部分是训练神经网络来对fashionminst的服饰图像进行分类,可以借此案例熟悉计算机图像处理的输入输出。

1.颜色图像的数组表示

为理解Fashion MNIST数据集,需先对数字图像有一些基本的认识。

  1. 数字图像是一个像素(图片元素)的矩形网格,其中每个像素单独定义一种颜色 。例如28x28像素的图片,可表示为一个28x28的矩阵,其中矩阵单元为[r,g,b]。
  2. 通常使用RGB颜色模型来表示颜色值,即一种颜色由三个取值范围从0到255的整数确定,分别表示颜色的红、绿、蓝分量的强度。其他颜色值通过混合红、绿、蓝分量获得。使用这种模型,可表示2563(大约1670万)种不同的颜色。常见的RGB颜色值如下表所示。
Red Green Blue 颜色
255 0 0 Red(红)
0 255 0 Green(绿)
0 0 255 Blue(蓝)
0 0 0 Black(黑)
255 255 255 White(白)
255 255 0 Yellow(黄)

3.亮度:亮度的标准公式来源于眼睛对红、绿、蓝的敏感度,它是三种颜色分量强度的线性组合方程:Y=0.299r+0.587g+0.114b
4.灰度:当三种颜色分量的强度相同时,RGB颜色模型具有一种属性,即结果颜色是位于黑(全0)到白(全255)之间的灰度颜色。因此将彩色图像转换为灰度图像最简单的方法是将红、绿、蓝分量值替换成与其单色亮度值相同的颜色。因此灰度图像的像素点只需一个值便可确定,例如表示为[r,r,r]。
5.颜色兼容性:两种颜色的兼容性是指在以一种颜色为背景时另一种颜色的可阅读性。一种被广泛应用的经验法则是,前景色和背景色的亮度差至少应该是128

2.将数组显示为图像

使用matplotlib.pyplot.imshow()函数将矩阵转化为图像。注意矩阵的输入有三种形式,第一种是标量数据,数组格式为(M,N),第二种是RGB图像,数组格式为(M,N,3),第三种是由RGBA图像,数组格式为(M,N,4);以上M,N分别对应图像的行与列的像素个数。

matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, *, data=None, **kwargs)[source]¶
Display an image, i.e. data on a 2D regular raster.

Parameters:	
X : array-like or PIL image
The image data. Supported array shapes are:

(M, N): an image with scalar data. The data is visualized using a colormap.
(M, N, 3): an image with RGB values (float or uint8).
(M, N, 4): an image with RGBA values (float or uint8), i.e. including transparency.
The first two dimensions (M, N) define the rows and columns of the image.

The RGB(A) values should be in the range [0 .. 1] for floats or [0 .. 255] for integers. Out-of-range values will be clipped to these bounds.

实操案例:
1.数组格式为(M,N)型

a=np.array([[0,125],[125,255]])
plt.imshow(a)

输出为:
2X2型
2.数组格式为(M,N,3)型

a=np.array([[[0,255,0],[</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值