首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >x.reshape()

x.reshape()

作者头像
bye
发布2021-01-06 21:38:58
1.8K0
发布2021-01-06 21:38:58
举报
文章被收录于专栏:bye漫漫求学路bye漫漫求学路

在写神经网络的时候。经常见到将数据集reshape的操作,那么这个是什么意思呢,我查了一下,有下面的说法:

第一种:图像通道为1个通道

图像大小未曾变化

# X shape (60,000 28x28), y shape (10,000, ) (X_train, y_train), (X_test, y_test) = mnist.load_data() # data pre-processing X_train = X_train.reshape(X_train.shape[0], -1) / 255. # normalize ??

请问reshape这种写法什么含义? X_test = X_test.reshape(X_test.shape[0], -1) / 255. # normalize y_train = np_utils.to_categorical(y_train, num_classes=10) y_test = np_utils.to_categorical(y_test, num_classes=10)

X shape (60,000 28x28),表示输入数据 X 是个三维的数据,你可以理解为 60000行数据,每一行是一张28 x 28 的灰度图片。

X_train.reshape(X_train.shape[0], -1), 表示:只保留第一维,其余的纬度,不管多少纬度,重新排列为一维。用-1是偷懒的做法,等同于 28*28。 reshape后的数据是:共60000行,每一行是784个数据点(feature)

另外还有一种是图像的大小有所变化的情况

题主是在用tensorflow做卷积神经网络入门的手写数字识别吧, 源码:x_image = tf.reshape(x, [-1, 28, 28, 1]) 这里是将一组图像矩阵x重建为新的矩阵,该新矩阵的维数为(a,28,28,1),其中-1表示a由实际情况来定。例如,x是一组图像的矩阵(假设是50张,大小为56×56),则执行 x_image = tf.reshape(x, [-1, 28, 28, 1]) 可以计算a=50×56×56/28/28/1=200。即x_image的维数为(200,28,28,1)。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一种:图像通道为1个通道
    • 图像大小未曾变化
      • X_train.reshape(X_train.shape[0], -1), 表示:只保留第一维,其余的纬度,不管多少纬度,重新排列为一维。用-1是偷懒的做法,等同于 28*28。 reshape后的数据是:共60000行,每一行是784个数据点(feature)
        • 另外还有一种是图像的大小有所变化的情况
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档