Набор данных цветов Tensorflow — это большой набор данных, состоящий из изображений цветов. В этой статье мы узнаем, как визуализировать набор данных цветов в Python. Для целей этой статьи мы будем использовать наборы данных tensorflow_datasets и библиотеку Matplotlib.
Prerequisites
Если у вас нет какой-либо из перечисленных ниже библиотек, вы можете установить их с помощью команды pip, например, для установки библиотеки tensorflow_datasets вам нужно написать следующую команду:
pip install tensorflow-datasets
Matplotlib — это библиотека для построения графиков для Python. Он позволяет пользователю с функциональными возможностями визуализировать и строить сложные графики в Python, но при этом предоставляет широкие возможности настройки. Чтобы установить Matplotlib, как и раньше, вы можете использовать команду pip:
pip install matplotlib
Импорт библиотек
tensorflow_datasets — это библиотека общедоступных наборов данных, готовых к использованию с TensorFlow, а MatplotLib — один из удобных инструментов, используемых специалистами по машинному обучению для построения визуализации на различных типах наборов данных.
Python3
import
tensorflow_datasets as tfds
import
matplotlib.pyplot as plt
Загрузка цветочного набора данных
Начнем с импорта набора данных. Мы будем использовать функцию tfds.load() для импорта набора данных цветов. Он используется для загрузки указанного набора данных в tf.data.Dataset, который предоставляется через аргумент имени. Набор цветочных данных называется tf_flowers.
Python3
dataset, info
=
tfds.load(
'tf_flowers'
,
with_info
=
True
,
as_supervised
=
True
,
)
get_image_label
=
info.features[
'label'
].int2str
Давайте проверим, сколько изображений у нас есть в наборе данных.
Python3
(
len
(dataset[
'train'
]))
Выход:
3670
Теперь пришло время визуализировать изображения. Следующий фрагмент кода показывает первые четыре изображения в наборе данных.
Python3
num
=
1
fig
=
plt.figure(figsize
=
(
20
,
14
))
for
image, label
in
iter
(dataset[
'train'
]):
if
num >
4
:
break
img
=
image.numpy()
fig.add_subplot(
2
,
2
, num)
plt.imshow(img)
plt.axis(
'off'
)
plt.title(get_image_label(label))
num
+
=
1
plt.tight_layout()
plt.show()
Выход:
Визуализация некоторых изображений из набора данных цветов
Мы также можем применить к нему увеличение данных, используя одну из очень удобных библиотек — Albumentation.
Python3
import
albumentations as A
augmenter
=
A.VerticalFlip(p
=
1
)
image, label
=
next
(
iter
(dataset[
'train'
]))
plt.subplot(
1
,
2
,
1
)
_
=
plt.imshow(image)
_
=
plt.title(get_image_label(label))
plt.subplot(
1
,
2
,
2
)
image
=
augmenter(image
=
image)[
'image'
]
_
=
plt.imshow(image)
_
=
plt.title(get_image_label(label))
Выход:
Исходное изображение и дополненное изображение