importCaffeNetwork

Импортируйте предварительно обученные сверточные модели нейронной сети из Caffe

Синтаксис

net = importCaffeNetwork(protofile,datafile)
net = importCaffeNetwork(___,Name,Value)

Описание

пример

net = importCaffeNetwork(protofile,datafile) импортирует предварительно обученную сеть из Caffe [1]. Функция возвращает предварительно обученную сеть с архитектурой, заданной файлом .prototxt protofile и с сетевыми весами, заданными файлом .caffemodel datafile.

Эта функция требует Средства импорта Deep Learning Toolbox™ для пакета поддержки Моделей Caffe. Если этот пакет поддержки не установлен, функция обеспечивает ссылку на загрузку.

Можно загрузить предварительно обученные сети с Образцового Зоопарка Caffe [2].

net = importCaffeNetwork(___,Name,Value) возвращает сеть с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

Загрузите и установите Средство импорта Deep Learning Toolbox для пакета поддержки Моделей Caffe.

Чтобы загрузить необходимый пакет поддержки, введите importCaffeNetwork в командной строке.

importCaffeNetwork

Если Средство импорта Deep Learning Toolbox для пакета поддержки Моделей Caffe не установлено, то функция обеспечивает ссылку на необходимый пакет поддержки в Add-On Explorer. Чтобы установить пакет поддержки, щелкните по ссылке, и затем нажмите Install.

Задайте файлы, чтобы импортировать.

protofile = 'digitsnet.prototxt';
datafile = 'digits_iter_10000.caffemodel';

Сеть Import.

net = importCaffeNetwork(protofile,datafile)
net = 
  SeriesNetwork with properties:

    Layers: [7×1 nnet.cnn.layer.Layer]

Входные параметры

свернуть все

Имя файла файла .prototxt, содержащего сетевую архитектуру, заданную как вектор символов. protofile должен быть в текущей папке в папке на пути MATLAB®, или необходимо включать полный или относительный путь в файл. Если файл .prototxt не задает размер входных данных, необходимо задать размер с помощью аргумента пары "имя-значение" 'InputSize'.

Пример: 'digitsnet.prototxt'

Типы данных: char

Имя файла файла .caffemodel, содержащего сетевые веса, заданные как вектор символов. datafile должен быть в текущей папке в папке на пути MATLAB, или необходимо включать полный или относительный путь в файл. Чтобы импортировать сетевые слои без весов, используйте importCaffeLayers.

Пример: 'digits_iter_10000.caffemodel'

Типы данных: char

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: importCaffeNetwork(protofile,datafile,'AverageImage',I) импортирует предварительно обученную сеть с помощью среднего изображения I для нулевой центральной нормализации.

Размер входных данных, заданных как вектор - строка. Задайте вектор двух или трех целочисленных значений [h,w] или [h,w,c], соответствующий высоте, ширине и количеству каналов входных данных. Если файл .prototxt не задает размер входных данных, то необходимо задать входной размер.

Пример: [28 28 1]

Среднее изображение для нулевой центральной нормализации, заданной как матрица. Если вы задаете изображение, то необходимо задать изображение, одного размера как входные данные. Если вы не задаете изображение, программное обеспечение использует данные, заданные в файле .prototxt, если существующий. В противном случае функция устанавливает свойство Normalization входного слоя изображений сети к 'none'.

Классы выходного слоя, заданного как категориальный вектор, массив строк, массив ячеек из символьных векторов или 'auto'. Если вы задаете массив строк или массив ячеек из символьных векторов str, то программное обеспечение устанавливает классы выходного слоя к categorical(str,str). Если Classes является 'auto', то функция устанавливает классы на categorical(1:N), где N является количеством классов.

Типы данных: char | categorical | string | cell

Выходные аргументы

свернуть все

Импортированная предварительно обученная сеть Caffe, возвращенная как объект SeriesNetwork или объект DAGNetwork. Сети Caffe, которые берут цветные изображения в качестве входа, ожидают, что изображения будут в формате BGR. Во время импорта importCaffeNetwork изменяет сеть так, чтобы импортированная сеть MATLAB взяла изображения RGB в качестве входа.

Советы

  • importCaffeNetwork может импортировать сети со следующими типами слоя Caffe с некоторыми ограничениями:

    • Входной параметр

    • Свертка

    • Развертка

    • Пакетная норма

    • ReLU

    • Tanh

    • Локальная нормализация ответа (LRN)

    • Объединение

    • Скалярное произведение / Полностью Связанный

    • Уволенный

    • Concat

    • Eltwise (только сумма)

    • Softmax с потерей

    • Евклидова потеря

    Если сеть содержит какой-либо другой тип слоя, то программное обеспечение возвращает ошибку.

    Функция импортирует только слои, которые protofile задает с ТЕСТОМ включать-фазы. Функция игнорирует любые слои, которые protofile задает с TRAIN включать-фазы.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2018b

Ссылки

[2] Зоопарк модели Caffe. https://caffe.berkeleyvision.org/model_zoo.html.

Введенный в R2017a