主要内容

이페이지의최신내용은아직번역되지않았습니다。최신최신내용은영문영문으로볼수수

딥러닝을사용해음성명령인식하기

이예제에서는오디오에서음성의존재여부를감지하는모델을훈련시키는방법을보여보여이예제에서는语音命令DataSet을사용하여컨벌루션이주어진명령명령세트를인식인식하도록훈련시킵니다[1]。

신경망을처음부터훈련먼저먼저이터세트세트다운로드해야합니다。아이터세트다운로드나훈련을원치않는경우이예제와함께제공된사전훈련신경망을불러온이예제예제다음두섹션사전훈련된신경망을사용하여하여인식인식마이크의의스트리밍오디오사용하여하여명령감지를실행할수있습니다。

사전훈련된신경망을사용하여하여인식인식

훈련과정을자세히살펴보기에사전훈련된인식신경망사용하여하여음성명령을해해해해해

使用方法훈련을불러옵니다。

加载('commandnet.mat'

이신경망은신경망은다음음성명령명령을하도록훈련되어

  • “是的”

  • “不”

  • 《飞屋环游记》

  • “下”

  • “剩下”

  • “对”

  • “在”

  • “关闭”

  • “停止”

  • “去”

한사람이“停止”이라고말하는짧은음성신호를불러옵니다。

[x,fs] = audioread(“stop_command.flac”);

명령명령들어봅니다。

声音(x, fs)

이사전전훈련된신경망은청각기반스펙트로그램을입력값으로으로먼저,음성파형을청각기반스펙트로그램변환해보겠습니다。

함수extractAuditoryFeature를사용하여청각스펙트로그램을계산합니다。특징추출에대해서는이예제의뒷부분에서자세히살펴봅니다。

听觉探测= PerverextractAutiveFeatures(X,FS);

청각스펙트로그램을기반으로명령을분류합니다。

命令=分类(trainedNet auditorySpect)
命令=分类停止

이신경망은이세트에속하지않는단어“未知”으로분류하도록훈련되어있습니다。

이제,식별식별할명령목록에포함되지않은(“播放”)를를해보겠습니다。

음성신호를불러와서들어봅니다。

x = audioread('play_command.flac');声音(x, fs)

청각스펙트로그램을계산합니다。

听觉探测= PerverextractAutiveFeatures(X,FS);

신호를분류합니다。

命令=分类(trainedNet auditorySpect)
命令=分类未知

이신경망은배경배경잡음“背景”로로분류하도록훈련되어되어。

랜덤잡음으로구성된된초초이의신호를만듭니다。

x = 0.01 * randn(16e3,1);

청각스펙트로그램을계산합니다。

听觉探测= PerverextractAutiveFeatures(X,FS);

배경잡음을분류합니다。

命令=分类(trainedNet auditorySpect)
命令=分类背景

마이크의의스트리밍오디오사용하여하여명령감지

사전훈련된명령감지을을이크의의스트리밍오디오에테스트테스트是的没有停止과같은명령을말봅니다봅니다。그런다음玛文希拉房子또는0과9사이의임의의숫자와같은알려지지않은단어를말해봅니다。

분류속도를hz단위로지정하고마이크의의오디오를읽을수있는장치리더를를

分类= 20;adr = audiodevicereader('采样率'fs,'samplesperframe'、地板(fs / classificationRate));

오디오를위한버퍼를초기화합니다。신경망의분류레이블을추출합니다。스트리밍오디오의레이블및분류확률을위해0.5초분량의버퍼를초기화합니다。초기화한버퍼를사용하여보다긴시간에걸쳐분류결과를비교하고,이를사용하여명령이감지된때를대상으로”일치하는'부분을구축합니다。결정논리에대한임계값을지정합니다。

audiobuffer = dsp.asyncuffer(FS);标签= TRAINARNET.LAYERS(END).CLASS;YBUFFER(1:ClassificationRate / 2)=分类(“背景”);probbuffer = zeros([numel(标签),分类符号/ 2]);countthreshold = ceil(分类符号* 0.2);probthreshold = 0.7;

图를만들고,이页가존재하는한계속명령명령감지。루프를무한정으로실행하려면时限INF.로로하십시오。라이브감지감지를를하려면하려면를。

h =图('单位''标准化''位置',[0.2 0.1 0.6 0.8]);timelimit = 20;tic;ishandle(h)&& toc %从音频设备提取音频样本并将样品添加到%缓冲区。x = ADR();写(audiobuffer,x);y =读取(Audiobuffer,FS,FS-ADR.SampleSperFrame);spec = perverextractautionsfeatures(y,fs);%分类当前频谱图,将标签保存到标签缓冲区,%并将预测的概率保存到概率缓冲区。[ypreedicted,probs] =分类(trountainnet,spec,'executionenvironment''中央处理器');YBUFFER = [YBUFFER(2:END),Y预期];probbuffer = [probbuffer(:,2:结束),probs(:)];%绘制当前波形和频谱图。子图(2,1,1)绘图(Y)轴紧的Ylim([ -  1,1])子图(2,1,2)PColor(SPEC')Caxis([ -  4 2.6445])阴影平坦的%现在通过执行一个非常简单的实际命令检测来进行实际命令检测%阈值操作。声明一个检测并显示它%数字标题如果所有以下保留:1)最常见的标签%不是背景。2)最新框架的至少计数%标签同意。3)预测标签的最大概率是在%最少探针。否则,请勿声明检测。[YMODE,COUNT] =模式(YBUFFER);maxprob = max(probbuffer(标签== ymode,:));子图(2,1,1)如果YMode = =“背景”||count “)其他的标题(string (YMode),'字体大小',20)结尾drawnow结尾

음성명령데이터세트불러오기

데이터세트[1]를다운로드하여추출합니다。

URL =.'https://storage.googleapis.com/download.tensorflow.org/data/speech_commands_v0.01.tar.gz';downloadfolder = tempdir;datasetfolder = fullfile(DownloadFolder,'google_speech');如果〜存在(DataSetFolder,'dir') disp ('下载语音命令数据集(1.5 GB)......')Untar(URL,DataSetFolder)结尾

이데이터세트세트가리키는audiodatastore.(音频工具箱)를만듭니다。

广告= audiodataStore(DataSetFolder,......“IncludeSubfolders”,真的,......'fileextensions'“wav”......“LabelSource”'foldernames'
ads = audioDatastore与属性:文件:{'…\本地\Temp\google_speech\_background_noise_\doing_the_dishes.wav';’……\ AppData \当地\ Temp \ google_speech \ _background_noise_ \ dude_miaowing.wav”;’……\ AppData \当地\ Temp \ google_speech \ _background_noise_ \ exercise_bike.wav”……{'C:\Users\bhemmat\AppData\Local\Temp\google_speech'}标签:[_background_noise_;_background_noise_;_background_noise_……alteratefilesystemroots: {} OutputDataType: 'double' SupportedOutputFormats: ["wav金宝app" "flac" "ogg" "mp4" "m4a"] DefaultOutputFormat: "wav"

인식할단어선택하기

모델이명령으로인식해야할단어사용자가지정해줍니다。명령이아닌단어는모두未知으로으로합니다。명령이아닌단어를未知으로지정하면명령제외한단어의의에근접단어그룹이만들어집니다단어단어그룹이만들어집니다。신경망은이그룹그룹사용하여명령명령이아닌단어의이를를합니다。

알려진알려진와알려지지않은단어사이의의불균형을줄이고처리처리속도를를높않은않은단어들의일부훈련에포함포함배경잡음이있는긴파일은훈련세트포함하지마십시오。배경잡음은나중에별도의단계에서가하게하게。

子集(音频工具箱)을사용하여명령과알려지지않은단어의서브셋만포함하는데이터저장소를만듭니다。각범주에속하는표본의개수를셉니다。

命令=分类([“是的”“不”《飞屋环游记》“下”“剩下”“对”“在”“关闭”“停止”“去”]);IsCommand = ISMember(Ads.Labels,命令);isunknown =〜ismember(ads.labels,[命令,“_背景噪音_”]);IncludeFraction = 0.2;mask = rand(numel(ads.labels),1)“未知”);ADSSUBSET =子集(广告,ISCommand | Isunknown);countAckeLabel(Adssubset)
ans = 11×2表标签计数_______ _____下调2359 Go 2372剩余2353 of 2357在2367右2367 opt 2367 over 1818 up 2375是2375

아이터를를훈련,검증세트와테스트세트로분할하기

데이터세트폴더에는검증세트와테스트세트로사용할오디오파일이나열된텍스트파일이포함되어있습니다。이러한미리정의된검증세트와테스트세트에는동일한사람이발화한동일한단어가포함되어있지않으므로,전체데이터세트에서서브셋을임의로선택하는것보다이러한미리정의된세트를사용하는것이좋습니다。

이예제에서는단일신경망을시키기때문때문테스트세트가아닌검증세트만사용하여된모델모델평가합니다。여러신경망을훈련시킨후검증가가장장높은을신경망으로하는테스트세트를를하여신경망을가할할있습니다。

검증검증파일의목록목록을읽어들들

c = importdata (fullfile (datasetFolder,'validation_list.txt'));filesvalidation = string(c);

테스트테스트파일의목록목록을읽어들들

c = importdata (fullfile (datasetFolder,'testing_list.txt'));filestest = string(c);

데이터저장소장소에서어느파일을검증세트로보내고어느파일을세트로보낼지결정결정

文件= adsSubset.Files;科幻小说=分裂(文件、filesep);isValidation = ismember(sf(:,end-1)) +“/”+ SF(:,结束),filesvalidation);ISTEST = ISMEMEMEMEMEMEMEMER(SF(:,终止 -  1)+“/”+ SF(:,结束),FILESTEST);ADSValidation =子集(ADSSUBSET,ISValidation);adstrain =子集(ADSUBSET,〜ISValidation&〜ISTEST);

전체전체이터셋으로신경망을을시키고가능한가장높은정확도를얻으려면逃守血统错误的로로하십시오。이예제예제를빠르게실행逃守血统真正的로로하십시오。

depentataset = false;如果Depentataset numuniqueLabels = numel(唯一(adstrain.labels));%将数据集缩减到原来的20倍adstrain = splitheachlabel(adstrain,round(numel(adstrain.files)/ numuniqueLabels / 20));ADSValidation = SpliteachLabel(ADSValidation,ROUND(NUMER(ADSValidation.Files)/ NumUnIqueLabels / 20));结尾

청각스펙트로그램계산하기

컨벌루션신경망의효율적훈련을위해데이터를를준비하려면음성파형을청각스펙트로그램으로변환변환을기반스펙트로그램으로변환변환

특징추출의파라미터를합니다합니다。分段은각음성클립의지속시간(단위:초)입니다。frameDuration은은스펙트럼계산을을위한각의지속시간시간프레임의지속시간哈姆瑟은은스펙트럼사이의시간스텝입니다。numBands는청각스펙트로그램의필터입니다입니다。

특징추출을수행할audiofeatureextractor.(音频工具箱)객체객체만듭니다。

fs = 16e3;数据集的%已知采样率。segmentDuration = 1;frameDuration = 0.025;hopDuration = 0.010;segmentSamples =圆(segmentDuration * fs);frameSamples =圆(frameDuration * fs);hopSamples =圆(hopDuration * fs);overlapSamples = framessamples - hopSamples;FFTLength = 512;numBands = 50;afe = audioFeatureExtractor (......'采样率'fs,......“FFTLength”,fftlength,......'窗户',汉恩(框架,'定期'),......'overlaplencth',重叠,......“barkSpectrum”,真的);setExtractorParams(AFE,“barkSpectrum”'numbands', numBands);

데이터셋에서에서파일을읽어들들들들컨벌루션신경망을훈련시키려면입력값의크기가일정해야합니다。이데이터세트의일부파일은이이1초보다짧습니다。길이가segmentSamples가되도록오디오신호의앞뒤에0채우기를적용합니다。

x =读(adstrain);numsamples = size(x,1);numtopadfront =楼层((SegmentsAmples  -  Numsamples)/ 2);numtopadback = ceil((segmentsamples  -  numsamples)/ 2);xpadded = [zeros(numtopadfront,1,'像',x); x; zeros(numtopadback,1,'像',X)];

오디오특징을추출하려면提炼를를하십시오。출력값은각행을따라시간값이있는바크스펙트럼입니다。

特征=提取物(AFE,XPadded);[numhops,numfeatures] =大小(特征)
numHops = 98 numFeatures = 50

audiofeatureextractor.는측정값이윈도우유형과윈도우적용이에독립적이되도록청각스펙트로그램스펙트로그램윈도우의거듭제곱정규화합니다。이예제에서는로그를적용하여청각을사후처리처리。작은수의로그를구하면가발생할수있습니다。반올림오차를를방지하기하기윈도우정규화를역역으로적용적용

적용할역정규화인자를결정합니다。

unnorm = 2 /(总和(afe.window)^ 2);

처리속도를높이려면议案를사용하여하여여러워커간에특징추출을분산수수

먼저,데이터셋의파티션개수를결정합니다。并行计算工具箱™가설치되어있지않으면단일파티션을사용하십시오。

如果〜isempty(ver(“平行”))&&〜oderataset pool = gcp;numpar = numpartitions(adstrain,pool);其他的numpar = 1;结尾

각각에대해,데이터저장소에서데이터를읽어들이고신호를를를를를추출추출추출추출추출추출

议案II = 1:numpar subds = partition(adstrain,numpar,ii);xtrain =零(numhops,numband,1,numel(subds.files));为了idx = 1:numel(subds. files) x = read(subds);xPadded =[0(地板(segmentSamples-size (x, 1)) / 2), 1); x; 0(装天花板((segmentSamples-size (x, 1)) / 2), 1)];XTrain (:,:,:, idx) =提取(afe xPadded);结尾XTrainc {II} = XTrain;结尾

출력값을4번째차원차원따라청각스펙트로그램이있는4차원배열로변환。

XTrain = Cat(4,Xtrainc {:});[numhops,numband,numchannels,numspec] =大小(xtrain)
numhops = 98 numbands = 50 numchannels = 1 numspec = 25041

윈도우의거듭제곱으로특징을스케일링한후로그를구합니다。보다보다분포를갖는이터를를얻으려면작은오프셋을을하여하여스펙트로그램의로그를를

XTrain = XTrain / Unnorm;epsil = 1e-6;XTrain = log10(Xtrain + Epsil);

검증세트에에대해위위설명한특징추출추출단계를수행

如果〜isempty(ver(“平行”) pool = gcp;numPar = numpartitions (adsValidation、池);其他的numpar = 1;结尾议案ii = 1:numPar subds = partition(adsValidation,numPar,ii);XValidation = 0 (numHops numBands 1,元素个数(subds.Files));为了idx = 1:numel(subds. files) x = read(subds);xPadded =[0(地板(segmentSamples-size (x, 1)) / 2), 1); x; 0(装天花板((segmentSamples-size (x, 1)) / 2), 1)];xValidation(:,::,idx)=提取物(afe,xpadded);结尾xvalidationc {ii} = xvalidation;结尾xvalidation = cat(4,xvalidationc {:});xvalidation = xvalidation / unnorm;xvalidation = log10(xvalidation + epsil);

훈련레이블과검증레이블을분리합니다。비어있는범주를제거합니다。

ytrain = removecats(adstrain.labels);yvalidation = removecats(adsvalidation.labels);

데이터시각시각화

몇몇몇몇훈련샘플의의파형과스펙트로그램을플로팅플로팅청각스펙트로그램을플로팅대응하는오디오클립을합니다합니다。

specmin = min(xtrain,[],“所有”);specMax = max (XTrain [],“所有”);idx = randperm(元素个数(adsTrain.Files), 3);图('单位''标准化''位置',[0.2 0.2 0.6 0.6]);为了i = 1:3 [x,fs] = audioread(adsTrain.Files{idx(i)});次要情节(2、3、i)情节(x)轴紧的标题(string (adsTrain.Labels (idx (i))))次要情节(2 3 i + 3) spect = (XTrain (:,: 1, idx(我)');cxis ([specMin specMax])阴影平坦的sound(x,fs)暂停(2)结尾

배경잡음데이터추가하기

신경망은발화된다양한단어인식할수있어야할아니라입력값에이포함되어있는지있는지잡음이포함되어있는지감지할수도합니다합니다합니다。

_背景噪音_폴더에있는오디오파일을사용하여1초길이의배경잡음샘플클립을만듭니다。각배경잡음파일로부터동일한개수의배경클립을만듭니다。배경잡음을직접녹음한다음_背景噪音_폴더에추가해도됩니다。이함수함수는스펙트로그램을계산계산하기에volumeRange로지정된범위에있는로그균등분포에서샘플링한인자로각오디오클립을다시스케일링합니다。

adsBkg =子集(广告,广告。标签= =“_背景噪音_”);numbkgclips = 4000;如果SDENTATASET NUMBKGCLIPS = NUM​​BKGCLIPS / 20;结尾volumerange = log10([1E-4,1]);numbkgfiles = numel(adsbkg.files);numclipsperfile = histcounts(1:numbkgclips,linspace(1,numbkgclips,numbkgfiles + 1));xbkg = zeros(尺寸(xtrain,1),尺寸(xtrain,2),1,numbkgclips,'单身的');bkgall = readall(adsbkg);IND = 1;为了计数= 1:numBkgFiles bkg = bkgAll{count};idxStart =兰迪(元素个数(bkg) - f, numClipsPerFile(计数),1);idxEnd = idxStart + fs-1;^((volumeRange(2)-volumeRange(1)))*rand(numClipsPerFile(count),1) + volumeRange(1));为了j = 1:numclipsperfile(count)x = bkg(idxstart(j):idxend(j))* gain(j);x = max(min(x,1), -  1);xbkg(::,:,ind)=提取物(afe,x);如果mod(ind,1000)== 0 disp(“处理 ”+字符串(IND)+“背景剪辑”+字符串(numbkgclips))结尾IND = IND + 1;结尾结尾Xbkg = Xbkg / unNorm;Xbkg = log10(Xbkg + epsil);
由4000个加工的2000个背景剪辑的加工1000个背景剪辑中的4000个加工3000个背景剪辑中的4000个加工4000个背景夹子中的4000个

배경배경잡음의스펙트로그램을훈련,검증검증,테스트세트로분할。_背景噪音_폴더에는약5분30초분량의배경잡음만되어서로다른데이터세트의의배경샘플은은상관관계를를를상관관계를배경잡음의을늘리기직접배경파일을만들어에에가할할있습니다。잡음에대한신경망견고성을이기위해음성파일에잡음잡음섞어볼수도있습니다。

numtrainbkg =楼层(0.85 * numbkgclips);numvalidationbkg =楼层(0.15 * numbkgclips);XTrain(:,::,结束+ 1:end + numtrainbkg)= xbkg(:,:,:,1:numtrainbkg);YTRAIN(结束+ 1:end + NUMTRAINBKG)=“背景”;xValidation(::::,结束+ 1:end + NumValidationBkg)= XBKG(:,::,numtrainbkg + 1:结束);YValidation(终点+ 1:end + NumValidationBKG)=“背景”;

훈련세트와검증세트에서다양한클래스레이블의분포를플로팅합니다。

图('单位''标准化''位置',[0.2 0.2 0.5 0.5])子图(2,1,1)直方图(YTrain)标题(“培训标签分布”)子图(2,1,2)直方图(YValidation)标题(“验证标签分发”

신경망아키텍처정의하기

간단한신경망아키텍처를계층배열로만듭니다。컨벌루션계층과배치정규정규계층사용용,최댓값풀링계층을사용하여특징맵을을을((특징맵을에서에서플링플링플링플링플링플링플링플링시간의흐름에입력특징을을전역으로풀링하는마지막최댓값풀링계층가합니다을가합니다。이렇게하면하면입력스펙트로그램(근사적적)시간이동불변성이적용되어불변성의에에무료00신경망이훈련데이터의의구체인인특징을기억할능성을을줄려면값의마지막완전연결연결에의드롭드롭아웃을가하십시오

신경망은신경망은몇개의필터필터만있는계층5개만포함하므로크기가작습니다。numF는컨벌루션계층의필터개수를제어합니다。신경망의정확도를높이려면컨벌루션컨벌루션,배치배치화화,relu계층으로구성된동일블록들을가하여신경망의심도를높여보십시오。numF를를높여컨벌루션필터필터의를늘려볼수도수도

가중교차엔트로피분류손실을사용용。weightedClassificationLayer (classWeights)类别级别에의해가중치가적용된관측값으로교차엔트로피계산하는사용자지정분류을만듭니다。分类(Ytrain)에나타나는클래스순서대로클래스가중치를지정합니다。각클래스에손실의총가중치를를동일하게주려면각클래스의훈련표본의개수에하는가중치가중치가중치사용하십시오。adam최적화함수를사용하여신경망을시키는경우훈련알고리즘이클래스가중치의전체정규화에적입니다입니다독립적입니다。

classWeights = 1. / countcats (YTrain);classWeights = classWeights ' /意味着(classWeights);numClasses =元素个数(类别(YTrain));timePoolSize =装天花板(numHops / 8);dropoutProb = 0.2;numF = 12;[imageInputLayer([numHops numBands]))卷积2dlayer (3,numF,'填充'“相同”)BatchnormalizationLayer Ruilulayer MaxPooling2dlayer(3,'走吧'2,'填充'“相同”)卷积2dlayer(3,2 * numf,'填充'“相同”)BatchnormalizationLayer Ruilulayer MaxPooling2dlayer(3,'走吧'2,'填充'“相同”) convolution2dLayer(3、4 * numF,'填充'“相同”)BatchnormalizationLayer Ruilulayer MaxPooling2dlayer(3,'走吧'2,'填充'“相同”) convolution2dLayer(3、4 * numF,'填充'“相同”)BatchnormalizationLayer Rufulayer卷积2dlayer(3,4 * numf,'填充'“相同”) batchNormalizationLayer reluLayer maxPooling2dLayer([timePoolSize,1]) dropoutLayer(dropoutProb) fulllyconnectedlayer (numClasses) softmaxLayer weightedClassificationLayer(classWeights)];

신경망훈련시키기

훈련옵션을지정합니다。미니배치크기인가128年亚当최적화함수를사용합니다。时代25회에대해훈련시키고,时代20회가지나면학습률10배을만큼줄입니다。

minibatchsize = 128;验证频率=地板(Numel(YTrain)/小型匹配);选项=培训选项('亚当'......“InitialLearnRate”,3e-4,......'maxepochs',25,......'minibatchsize',小匹马,......'洗牌''每个时代'......'plots''培训 - 进步'......'verbose'假的,......“ValidationData”,{xvalidation,yvalidation},......'验证职业',验证职权,......'shownrateschedule''分段'......“LearnRateDropFactor”,0.1,......'学习ropperiod'20);

신경망신경망훈련시킵니다。GPU가없으면,신경망훈련에시간이걸릴수있습니다。

TrousaInnet = Trainnetwork(XTrain,Ytrain,图层,选项);

훈련된신경망평가하기

(아이터증대가적용적용않은)훈련세트와검증세트에신경망의최종정확도를계산계산합니다합니다합니다계산계산계산계산합니다합니다합니다합니다의의이데이터데에서매우한결과를나타냅니다。그러나훈련데이터,검증데이터,테스트데이터는는모두환경을그대로반영한다고보기비슷한분포를갖고갖고고보기비슷한분포를갖고갖고이러한한계한계는특히적은적은개수의발화된단어를포함포함未知범주에서두드러지게나타납니다。

如果SDENTATASET LOAD('commandnet.mat''trousahynet');结尾YVALPRED =分类(TRAIRATIONNET,XValidation);validationError =均值(yvalpred〜= yvalidation);YTrainPred =分类(TRAIRATIONNET,XTRAIN);TrainError =平均值(Ytrainpred〜= Ytrain);DISP(“训练错误:”+ TrainError * 100 +“%”) disp (“验证错误:”+ validationError * 100 +“%”
训练错误:1.526%验证错误:5.1539%

정오분류표를플로팅합니다。열및행요약을사용하여각클래스의정밀도를표시하고다시호출합니다。정오분류표의클래스를정렬합니다。알려지지않은단어와명령인向上没有没有사이에서가장큰오분류가발생합니다。

图('单位''标准化''位置',[0.2 0.2 0.5 0.5]);CM = ConfusionChart(YValidation,YVALPRED);cm.title ='验证数据的混淆矩阵';cm.columnsummary ='列 - 归一化';cm.rowsummary ='行标准化';SortClasses(cm,[命令,“未知”“背景”])

같응용프로그램과이하드웨어하드웨어제약이있는응용프로그램에서작업할는가용메모리와와연산리소스에제한을고려해야해야리소스대한을고려해야해야신경망신경망총크기를kb단위단위계산하고,cpu를사용할때예측속도를테스트합니다。예측예측시간은단일단일입력영상분류하는시간시간을분류하는시간신경망에여러개의영상입력하는경우,복수복수영상이동시에분류될있고,그결과영상당예측이단축단축。이는는단일할이가장중요합니다。

信息= whos('trousahynet');DISP(“网络尺寸:”+ INFO.BYTES / 1024 +“知识库”为了i = 1:100 x = randn([numhops,numbands]);TIC [YERPREDITED,PROPS] =分类(TRAIRATIONNET,X,“刽子果环境”'中央处理器');时间(i)= toc;结尾DISP(“CPU上的单图像预测时间:”+均值(时间(11:结束))* 1000 +“ 多发性硬化症”
网络大小:286.7314 kB CPU上的单张图像预测时间:3.1647 ms

참고문헌

[1] Warden P.“语音命令:用于单词语音识别的公共数据集”,2017.可从中获取https://storage.googleapis.com/download.tensorflow.org/data/speech_commands_v0.01.tar.gz..版权2017年谷歌。Speech Commands Dataset是在Creative Commons Attribution 4.0许可下使用的,可以在这里获得:https://creativeCommons.org/licenses/by/4.0/Legalcode.

참고문헌

[1] Warden P.“语音命令:用于单词语音识别的公共数据集”,2017.可从中获取http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz..版权2017年谷歌。Speech Commands Dataset是在Creative Commons Attribution 4.0许可下使用的,可以在这里获得:https://creativeCommons.org/licenses/by/4.0/Legalcode.

참고항목

||

관련항목