Как визуализировать изображения CIFAR10 в виде матриц - PullRequest
0 голосов
/ 25 февраля 2020

Я сейчас пытаюсь работать с изображениями 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 матрица. Как нарезка работает с этим изображением, какое измерение на первом месте. Любое понимание и рекомендации по материалам для чтения будут высоко оценены

1 Ответ

1 голос
/ 25 февраля 2020
Переменная

train_images имеет пакет изображений и изображения numpy метрики и срезы работают одинаково для всех метрик в 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)

Подробнее: Основы индексации, индексирование массивов

...