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