importCaffeLayers

Импортируйте слои сверточной нейронной сети из Caffe

Описание

пример

layers = importCaffeLayers(protofile) импортирует слои сети Caffe [1]. Функция возвращает слои, заданные в .prototxt файл protofile.

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

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

layers = importCaffeLayers(protofile,'InputSize',sz) задает размер входных данных. Если .prototxt файл не задает размер входных данных, затем необходимо задать входной размер.

Примеры

свернуть все

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

Загрузите необходимый пакет поддержки путем ввода importCaffeLayers в командной строке.

importCaffeLayers

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

Задайте файл в качестве примера 'digitsnet.prototxt' импортировать.

protofile = 'digitsnet.prototxt';

Импортируйте слоя сети.

layers = importCaffeLayers(protofile)
layers = 

  1x7 Layer array with layers:

     1   'testdata'   Image Input             28x28x1 images
     2   'conv1'      Convolution             20 5x5x1 convolutions with stride [1  1] and padding [0  0]
     3   'relu1'      ReLU                    ReLU
     4   'pool1'      Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0]
     5   'ip1'        Fully Connected         10 fully connected layer
     6   'loss'       Softmax                 softmax
     7   'output'     Classification Output   crossentropyex with 'class1', 'class2', and 8 other classes

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

свернуть все

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

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

Размер входных данных в виде вектора-строки. Задайте вектор из двух или трех целочисленных значений [h,w], или [h,w,c] соответствуя высоте, ширине и количеству каналов входных данных.

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

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

свернуть все

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

Больше о

свернуть все

Используйте импортированные слоя сети на графическом процессоре

importCaffeLayers не выполняется на графическом процессоре. Однако importCaffeLayers импортирует слои предварительно обученной нейронной сети для глубокого обучения как Layer массив или LayerGraph объект, который можно использовать на графическом процессоре.

  • Преобразуйте импортированные слои в DAGNetwork объект при помощи assembleNetwork. На DAGNetwork объект, можно затем предсказать, что класс маркирует или на CPU или на GPU при помощи classify. Задайте требования к аппаратным средствам с помощью аргумента ExecutionEnvironment значения имени. Для сетей с несколькими выходными параметрами используйте predict функционируйте и задайте аргумент ReturnCategorical значения имени как true.

  • Преобразуйте импортированный LayerGraph возразите против dlnetwork объект при помощи dlnetwork. На dlnetwork объект, можно затем предсказать, что класс маркирует или на CPU или на GPU при помощи predict. Функция predict выполняется на графическом процессоре, если или входные данные или сетевые параметры хранятся на графическом процессоре.

    • Если вы используете minibatchqueue обработать и управлять мини-пакетами входных данных, minibatchqueue объект преобразует выход в массив графического процессора по умолчанию, если графический процессор доступен.

    • Использование dlupdate преобразовывать настраиваемые параметры dlnetwork возразите против массивов графического процессора.

      dlnet = dlupdate(@gpuarray,dlnet)

  • Можно обучить импортированные слои или на центральном процессоре или на графическом процессоре при помощи trainNetwork. Задавать опции обучения, включая опции для среды выполнения, использование trainingOptions функция. Задайте требования к аппаратным средствам с помощью аргумента ExecutionEnvironment значения имени. Для получения дополнительной информации о том, как ускорить обучение, смотрите, Увеличивают Глубокое обучение параллельно, на графических процессорах, и в Облаке.

Используя графический процессор требует Parallel Computing Toolbox™ и поддерживаемого устройства графического процессора. Для получения информации о поддерживаемых устройствах смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).

Советы

Ссылки

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

Введенный в R2017a