Модули Keras: типы и примеры / keras 7

175

Модули Keras предоставляют различные классы и алгоритмы глубокого обучения. Дальше о них и пойдет речь.

Модули Keras

В Keras представлены следующие модули:

  • Бэкенд
  • Утилиты
  • Обработка изображений
  • Последовательная последовательности
  • Обработка текста
  • Обратный вызов

Модуль бэкенда в Keras

Keras — это высокоуровневый API, который не заостряет внимание на вычислениях на бэкенде. Однако он позволяет пользователям изучать свой бэкенд и делать изменения на этом уровне. Для этого есть специальный модуль.

Его конфигурация по умолчанию хранится в файле $Home/keras/keras.json.

Он выглядит вот так:

{
    "image_data_format": "channels_last",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "tensorflow"
}

Можно дописать код, совместимый с этим бэкендом.

from Keras import backend as K

b=K.random_uniform_variable(shape=(3,4),low=0,high=1)
c=K.random_uniform_variable(shape=(3,4),mean=0,scale=1)
d=K.random_uniform_variable(shape=(3,4),mean=0,scale=1)

a=b + c * K.abs(d)
c=K.dot(a,K.transpose(b))

a=K.sum(b,axis=1)
a=K.softmax(b)
a=K.concatenate([b,c],axis=1)

Модуль утилит в Keras

Этот модуль предоставляет утилиты для операций глубокого обучения. Вот некоторые из них.

HDF5Matrix

Для преобразования входящих данных в формат HDF5.

from.utils import HDF5Matrix data=HDF5Matrix('data.hdf5','data')

to_categorical

Для унитарной кодировки (one hot encoding) векторов класса.

from keras.utils import to_categorical

labels = [0,1,2,3,4,5]
to_categorical(labels)

print_summary

Для вывода сводки по модели.

from keras.utils import print_summary
print_summary(model)

Модуль обработки изображений в Keras

Содержит методы для конвертации изображений в массивы NumPy. Также есть функции для представления данных.

Класс ImageDataGenerator

Используется для дополнения данных в реальном времени.

keras.preprocessing.image.ImageDataGenerator(featurewise_center, samplewise_center, featurewise_std_normalization, samplewise_std_normalization, zca_whitening, zca_epsilon=1e-06, rotation_range=0, width_shift_range=0.0, height_shift_range=0.0, brightness_range, shear_range=0.0, zoom_range=0.0, channel_shift_range=0.0, fill_mode='nearest', cval=0.0, horizontal_flip, vertical_flip)

Методы ImageDataGenerator

apply_transform:

Для применения изменений к изображению

apply_transform(x, transform_parameters)

flow

Для генерации серий дополнительных данных.

flow(x, y, batch_size=32, shuffle, sample_weight, seed, save_to_dir, save_prefix='', save_format='png', subset)

standardize

Для нормализации входящего пакета.

standardize(x)

Модуль обработки последовательности

Методы для генерации основанных на времени данных из ввода. Также есть функции для представления данных.

TimeseriesGenerator

Для генерации временных данных.

keras.preprocessing.sequence.TimeseriesGenerator(data, targets, length, sampling_rate, stride, start_index, end_index)

skipgrams

Конвертирует последовательность слов в кортежи слов.

keras.preprocessing.sequence.skipgrams(sequence, vocabulary_size, window_size=4, negative_samples=1.0, shuffle, categorical, sampling_table, seed)

Модуль предварительной обработки текста

Методы для конвертации текста в массивы NumPy. Есть также методы для подготовки данных.

Tokenizer

Используется для конвертации основного текста в векторы.

keras.preprocessing.text.Tokenizer(num_words, filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n', lower, split=' ', char_level, oov_token=, document_count=0)

one_hot

Для кодировки текста в список слов.

keras.preprocessing.text.one_hot(text, n, filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n', lower, split=' ')

text_to_word_sequence

Для конвертации текста в последовательность слов.

keras.preprocessing.text.text_to_word_sequence(text, filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n', lower, split=' ')

Модуль обратного вызова

Предоставляет функции обратного вызова. Используется для изучения промежуточных результатов.

Callback

Для создания новых обратных вызовов.

keras.callbacks.callbacks.Callback()

BaseLogger

Для вычисления среднего значения метрик.

keras.callbacks.callbacks.BaseLogger(stateful_metrics)

History

Для записи событий.

keras.callbacks.callbacks.History()

ModelCheckpoint

Для сохранения модели после каждого временного промежутка.

keras.callbacks.callbacks.ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only, save_weights_only, mode='auto', period=1)

Выводы

Теперь вы знакомы с разными модулями Keras и знаете, для чего они нужны.

Тест на знание python

Что выведет этот код?
Что выведет этот код?
Какой цикл `for` выведет такой результат?
Что выведет этот код?
Какой будет результат выполнения этого кода?
Александр
Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ. Пишу на популярные темы: веб-разработка, работа с базами данных, data sciense и другие...