主要内容

预测

类:dlhdl。工作流
包:dlhdl

对指定目标设备上部署的神经网络和配置文件速度进行推理

描述

例子

预测(图像中预测图像数据的响应洛桑国际管理发展学院通过使用深度学习网络,您在dlhdl。工作流类用于在指定的目标板上部署,并返回结果。

预测(图像名称,值中预测图像数据的响应洛桑国际管理发展学院通过使用你指定的深度学习网络dlhdl。工作流类用于在指定的目标板上部署,并返回结果,其中包含一个或多个由可选的名称-值对参数指定的参数。

输入参数

全部展开

输入图像,指定为——- - - - - -n——- - - - - -k数字数组。n,k必须匹配深度学习网络输入图像层的尺寸。例如,对于LogoNet网络,将输入图像的大小调整为227乘227乘3的数组。

数据类型:

名称-值参数

指定可选的用逗号分隔的对名称,值参数。的名字参数是name和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:

标志返回分析结果,用于部署到目标板的深度学习网络。

例子:“配置文件”,“上”

例子

全部展开

  1. 创建一个dlhdl。工作流对象的VGG-19作为网络参数,arria10soc_single作为bitstream参数,并且hTarget作为目标参数。

    %保存预训练的SeriesNetwork对象snet = vgg19;%创建目标对象,并定义到目标板的接口hTarget = dlhdl。目标(“英特尔”);%使用FPFA位流为SeriesNetwork创建工作流对象hW = dlhdl。工作流(“网络”snet,“比特流”“arria10soc_single”“目标”, hTarget);
  2. 加载你的输入图像,并调整输入图像的大小,以匹配图像输入层的大小为VGG-19网络。

    %加载输入图像,并根据网络规格调整大小形象= imread (“zebra.jpeg”);inputImg = imresize(image, [224, 224]);imshow (inputImg);imIn =单(inputImg);
  3. 部署dlhdl。工作流对象添加到目标FPGA板上部署方法。的方法从FPGA板检索输入图像的VGG-19网络预测结果预测方法。

    %部署工作流对象hW.deploy;预测结果,并可选择分析结果来衡量性能。n .预测,速度“配置文件”“上”);[val, idx] = max(预测值);snet.Layers(结束).ClassNames {idx}

这个例子展示了如何使用预测方法从部署的量化LogoNet网络检索输入图像的预测结果。

  1. 在当前工作文件夹中创建一个名为getLogoNetwork.m.将这些行输入到文件中:

    函数net = getLogoNetwork data = getLogoNetwork;网= data.convnet;结束函数data = getLogoData如果~ isfile (“LogoNet.mat”) url =“//www.tianjin-qmedu.com/万博1manbetxsupportfiles/gpucoder/cnn_models/logo_detection/LogoNet.mat”;websave (“LogoNet.mat”url);结束data =负载(“LogoNet.mat”);结束
  2. 创建一个图像数据存储库,将70%的图像分成一个训练数据集,将30%的图像分成一个验证数据集。

    curDir = pwd;newDir = fullfile (matlabroot,“例子”“deeplearning_shared”“数据”“logos_dataset.zip”);拷贝文件(newDir curDir);解压缩(“logos_dataset.zip”);imd = imageDatastore (“logos_dataset”...“IncludeSubfolders”,真的,...“LabelSource”“foldernames”);[imdsTrain, imdsValidation] = splitEachLabel (imd, 0.7,“随机”);

  3. 创建一个dlhdl。工作流将LogoNet量化为网络参数的对象,zcu102_int8作为比特流,和hTarget作为目标参数。

    要量化网络,您需要下面列出的产品s manbetx 845FPGA量化工作流先决条件

    %保存预训练的SeriesNetwork对象snet = getLogoNetwork;%创建目标对象,并定义到目标板的接口hTarget = dlhdl。目标(“Xilinx”“界面”“以太网”);%创建量化网络对象dlquantObj = dlquantizer (snet,“ExecutionEnvironment”FPGA的);dlquantObj.calibrate (imdsTrain);%使用FPFA位流为SeriesNetwork创建工作流对象hW = dlhdl。工作流(“网络”dlquantObj,“比特流”“zcu102_int8”“目标”, hTarget);
  4. 检索一个随机图像logos_dataset

    索引= randperm(numel(imdsValidation. files),1) imIn = readimage(imdsValidation,index) inputImg = imIn (imIn, [227 227]);
  5. 部署dlhdl。工作流对象添加到目标FPGA板上部署方法。方法检索图像的预测预测方法。

    %部署工作流对象hW.deploy;预测结果,并可选择分析结果来衡量性能。[prediction, speed] = hW.predict(single(inputImg),“配置文件”“上”);[val, idx] = max(预测值);snet.Layers(结束).ClassNames {idx}
介绍了R2020b