Tensorflow学习之路(一)

通过实战使用Tensorflow学习手写数字的识别来学习Tensorflow的相关知识

数据集的加载

Tensorflow有很多很好的训练数据集可以供我们使用,第一步我们先加载数据集,在第一次使用的时候,pycharm会自动帮你从Tensorflow下载数据集到本地

import tensorflow as tf

mnist=tf.keras.datasets.mnist                      #获得数据集对象
(x_train,y_train),(x_test,y_test)=mnist.load_data()#加载数据集
print(x_train.shape,y_train.shape)                 #输出数据集
print(x_test.shape,y_test.shape)				   #输出测试数据集

输出

(60000, 28, 28) (60000,)
(10000, 28, 28) (10000,)

数据集的显示预览

import matplotlib.pyplot as plt

image_index=1234    #显示第几个数据集
plt.imshow(x_train[image_index],cmap='Greys') #加入cmap='Greys'即为显示黑白图像
plt.show()

显示结果
在这里插入图片描述

数据集格式转换

数据集的文件格式是没办法直接使用到Tensorflow中去的
Tensorflow输入要求是3232的所以图像需要填充到3232
因为读取到的数据集是0-255是整形,所以要进行转换为浮点型
数据正则化不是很懂是为什么
数据维度转换为[n,h,w,c]【数字,高度,宽度,通道】

import numpy as np

#将图片从28*28扩充为32*32
x_train=np.pad(x_train,((0,0),(2,2),(2,2)),'constant',constant_values=0)
#数据类型准换
x_train=x_train.astype('float32')
#数据正则化
x_train/=255
#数据维度转换
x_train=x_train.reshape(x_train.shape[0],32,32,1)
print(x_train.shape)

输出维度数据

(60000, 32, 32, 1)
发布了5 篇原创文章 · 获赞 1 · 访问量 182

猜你喜欢

转载自blog.csdn.net/AcStudio/article/details/104878518