TensorFlow中299×299 RGB图像模型形状为何是299×299×3而非1×1×3?
关于TensorFlow图像模型输入形状的澄清
你的理解确实有误,下面给你拆解清楚:
单张RGB图像的形状:
(299,299,3)是完全正确的。这里三个维度分别代表:- 第一个
299:图像的高度(y方向的像素总数) - 第二个
299:图像的宽度(x方向的像素总数) - 第三个
3:RGB的颜色通道数(红、绿、蓝各一个通道)
你说的1×1×3只是单个像素的形状,而整张图像是由299×299个这样的像素组成的,所以必须用(299,299,3)来描述整张图像的张量结构。
- 第一个
模型构建时的4维形状
m.build([None, 299, 299, 3]):
这里的None代表批量大小(batch size),也就是模型一次能处理的图像数量(这个值可以灵活调整,比如一次喂32张或64张)。后面三个维度就是单张图像的形状,组合起来就表示模型接受的是「任意数量的、尺寸为299×299的RGB图像」作为输入,比如当你传入600张图像时,输入张量的实际形状就是(600,299,299,3),这也是教程里说600张这类图像能存入内存的原因——总数据量是600×299×299×3个数值,在常规内存里是完全装得下的。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

