Попробуйте Глубокое обучение на FPGA только с Пятью Дополнительными Линиями кода MATLAB

В этом примере показано, как использовать Deep Learning HDL Toolbox™, чтобы развернуть предварительно обученную нейронную сеть для глубокого обучения в требуемую плату и идентифицировать объекты на веб-камере реального времени, соединенной с компьютером разработчика путем добавления только пяти линий кода MATLAB к Глубокому обучению Попытки в 10 Линиях примера кода MATLAB.

  1. Чтобы соединиться с веб-камерой и получить предварительно обученную нейронную сеть, запустите эти команды.

    camera = webcam; % Connect to the camera
    net = alexnet;   % Load the neural network

    Если необходимо установить веб-камеру и дополнения Alexnet, сообщение появляется со ссылкой, чтобы помочь вам загрузить свободные дополнения с помощью Add-On Explorer. В качестве альтернативы см. Модель Deep Learning Toolbox для Сети AlexNet и Пакет Поддержки MATLAB для Веб-камер USB для инструкций по установке.

    После того, как вы установите Модель Deep Learning Toolbox™ для сети AlexNet, можно использовать его, чтобы классифицировать изображения. AlexNet является предварительно обученной сверточной нейронной сетью (CNN), которая была обучена больше чем на миллионе изображений и может классифицировать изображения в 1 000 категорий объектов (например, клавиатура, мышь, и так далее).

  2. Запустите следующие три строки кода, чтобы настроить интерфейс на требуемую плату, создать объект рабочего процесса и развернуть сеть в требуемую плату.

    hT = dlhdl.Target('Xilinx');
    hW = dlhdl.Workflow('Network',net,'Bitstream','zcu102_single','Target',hT);
    hW.deploy;
  3. Запустите следующий код, чтобы показать и классифицировать живые изображения. Укажите веб-камеру на объект. Нейронная сеть сообщает, какой класс объекта она думает, что веб-камера показывает, классифицируя изображения, пока вы не нажимаете Ctrl +C. Код изменяет размер изображения для сети при помощи imresize (Image Processing Toolbox).

    while true
        im = snapshot(camera);       % Take a picture
        image(im);                   % Show the picture
        im = imresize(im,[227 227]); % Resize the picture for alexnet
        [prediction, speed] = hW.predict(single(im),'Profile','on');
        [val, idx] = max(prediction);
        label = net.Layers(end).ClassNames{idx}; % classify the image
        title(char(label));          % Show the class label
        drawnow
       end
    

    В этом примере сеть правильно классифицирует кофейную кружку. Экспериментируйте с объектами в своей среде, насколько точный сеть.

    Для следующих шагов смотрите Глубокое обучение на Решении для FPGA и Рабочих процессах.

Смотрите также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте