我目前正在尝试处理CIFAR10图像。我有以下代码片段
import tensorflow as tf
from tensorflow.keras import datasets,layers,models
import matplotlib.pyplot as plt
(train_images,train_labels),(test_images,test_labels)=datasets.cifar10.load_data()
#train_images,test_images=train_images/,test_images
当我打印print(train_images[0])
时,我得到 32*32*3 矩阵,当我打印print(train_images[0][0)
时,我得到 32*3 矩阵,但我认为它应该是 32*32 矩阵。切片如何处理此图像,哪个维度先出现。任何关于阅读材料的见解和建议将不胜感激
train_images变量有一批图像,图像是数字指标,切片对 numpy 中的所有指标都是一样的。
维度以 [批次、行、列、通道] 的形式出现。
要获得第一张图像,您将打印:print(train_images[0].shape)
,它将输出(32,32,3)。
要获得图像的第一个通道,您将打印:print(train_images[0, :, :, 0])
,它将输出(32,32)第一通道,依此类推print(train_images[0, :, :, 1])
用于第二通道,print(train_images[0, :, :, 2])
用于第三通道。 其中":"表示所有值。
train_images[0, 0]
将从批处理(32,3)的第一个图像的第一行输出值
更多内容:基础索引,数组索引