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