На этом шаге мы перечислим эти атрибуты.
Тензор определяется тремя ключевыми атрибутами, такими как:
Чтобы добавить конкретики, вернемся к данным из MNIST, которые мы обрабатывали в первом примере. Сначала загрузим набор данных MNIST:
from tensorflow.keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Узнаем количество осей тензора train_images, обратившись к его атрибуту ndim:
>>> train_images.ndim
3
>>> train_images.shape
(60000, 28, 28)
>>> train_images.dtype
uint8
Теперь мы знаем, что перед нами трехмерный тензор с 8-разрядными целыми числами. Точнее, это массив с 60 000 матрицами целых чисел размером 28 * 28 . Каждая матрица представляет собой черно-белое изображение, где каждый элемент - пиксель с плотностью серого цвета в диапазоне от 0 до 255.
Попробуем отобразить четвертую цифру из этого тензора, использовав библиотеку Matplotlib (известная библиотека на Python для визуализации данных, входящая в состав пакета Colab) (рисунок 1).
Рис.1. Четвертый образец из нашего набора данных
import matplotlib.pyplot as plt digit = train_images[4] plt.imshow(digit, cmap=plt.cm.binary) plt.show()
Естественно, что этому изображению соответствует метка - целое число 9:
>>> train_labels[4]
9
На следующем шаге мы рассмотрим манипулирование тензорами с помощью NumPy.