Перед R2018a, чтобы выполнить предварительную обработку пользовательского изображения для учебных нейронных сетей для глубокого обучения, необходимо было задать пользовательскую функцию чтения использование свойства readFcn
imageDatastore
. Однако чтение файлов с помощью пользовательской функции чтения было медленным, потому что imageDatastore
не выбирал файлы с упреждением.
В R2018a четыре класса включая matlab.io.datastore.MiniBatchable
были введены как решение выполнить предварительную обработку пользовательского изображения с поддержкой упреждающей выборки, перестановки, и параллельными обучению. Реализация пользовательского мини-пакетного datastore с помощью matlab.io.datastore.MiniBatchable
имеет несколько проблем и ограничений.
В дополнение к определению операций предварительной обработки необходимо также задать свойства и методы, чтобы поддержать данные о чтении в пакетах, чтение данных индексом, и разделения и перестановки данных.
Необходимо задать значение для свойства NumObservations
, но это значение может быть неточно указанным или трудным задать в реальных приложениях.
Пользовательские мини-пакетные хранилища данных не достаточно гибки, чтобы поддержать общие рабочие процессы глубокого обучения, такие как развернутые рабочие процессы с помощью GPU Coder™.
При запуске в R2019a встроенные хранилища данных исходно поддерживают упреждающую выборку, перестановку, и параллельны обучению при чтении пакетов данных. Функция transform
является предпочтительным способом выполнить пользовательскую предварительную обработку данных или преобразования. Функция combine
является предпочтительным способом конкатенировать считанные данные из нескольких хранилищ данных, включая преобразованные хранилища данных. Конкатенированные данные могут служить сетевыми входными параметрами и ожидаемыми ответами для учебных нейронных сетей для глубокого обучения. transform
и функции combine
имеют несколько преимуществ перед matlab.io.datastore.MiniBatchable
.
Функции включают предварительную обработку данных и конкатенацию для всех типов хранилищ данных, включая imageDatastore
.
Функция transform
только требует, чтобы вы задали конвейер обработки данных.
Когда используется на детерминированном datastore, функции поддерживают типы данных tall
и MapReduce.
Функции поддерживают развернутые рабочие процессы.
Нет никаких планов удалить метод read
matlab.io.datastore.MiniBatchable
в это время.