exponenta event banner

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

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

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

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

    Если требуется установить веб-камеру и надстройки Alexnet, появится сообщение со ссылкой, которая поможет загрузить бесплатные надстройки с помощью проводника надстроек. Инструкции по установке см. в разделах Модель инструментария глубокого обучения для AlexNet Network и Пакет поддержки MATLAB для веб-камер USB.

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

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

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

    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 и рабочим процессам.

См. также

| |

Связанные темы