Перед 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 в это время.