TensorFlow +OpenVINO 整合开发CR-A03-TF+OpenVINO-以NLP建模为例_第1页
TensorFlow +OpenVINO 整合开发CR-A03-TF+OpenVINO-以NLP建模为例_第2页
TensorFlow +OpenVINO 整合开发CR-A03-TF+OpenVINO-以NLP建模为例_第3页
TensorFlow +OpenVINO 整合开发CR-A03-TF+OpenVINO-以NLP建模为例_第4页
TensorFlow +OpenVINO 整合开发CR-A03-TF+OpenVINO-以NLP建模为例_第5页
已阅读5页,还剩232页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.模拟人们(如儿童)的学习2.介绍机器学习3.ML基础技能:计算相似度4.体验NLP:判断同义词5.ML派上用场6.优化模型:使用OpenVINO优化器7.测试模型:使用OpenVINO推论引擎建立模型,以及训练模型。Almodelingframework,可以帮助我们快速开发及·TensorFlow是于2015年,由Google团队所推出的。让开发者的操作量降至最低,并且提供极清晰和可操作的反馈。和结果。妈妈常说的话儿童来学习这样的学习,大数据中学习..介绍机器学习大数据间的矢联性。代表身体的可能病症,而Y代表可用的药物。人们矢联性。规律)了。Y空间X空间Y空间Y空间X空间Y空间(代表自然空间的实物)投影到Y空间。机上投影到白板(Y空间)上。人们可以设定投射的角度、亮度等参数;还可以加上过虑镜片等等。X空间HX空间HX2权重权重权重·典型的机器学习机制是:透过Wh权重将X对映到H潜藏空间,然后透过Wo权重将H对映到Y空间。[第1回合]富,其心中领悟、沉淀之道就愈精致。·人们学习过程就是:博观而约取、厚积而薄发、学而时习叹文叹文修正yn[第2回合]·基于新的Wh和Wo权重,再进行第2回合的映射。·当ML从X映射到Y时(第2回合),如果与历史数据Y仍有误差时,就再度返回来修正Wo和Wh值。·就得到更新的Wo和Wh值了。WhWo时(第3回合),如果与历史数据Y仍有误差时,就再度返回来修正Wo和Wh值。导回9类]导回9巽]误差很小了誤差—yo—y1y2已经足够小了,就结束学习过程(毕业)了。HWh、Wo和应用于新数据(资料)simi01.py-C:\Users\Tom\AppData\Local\Programs\Python\Python36\si.importxlwingsasxwwb=xw.Book(path+'simiwb01.xtm')ABCDEFGH1評分表,紀録4位客人對3種水果的偏好度。23XOrange4Mike750相似度56306056705889分·而他却最不喜欢这里的Orange,评级最低:0分。之间的相似度。请您按下<相似度>:ABCDEFGH1這是一個評分表,紀録4位客人對3種水果的偏好23X4750相似度56306056705889相似度舆P1:舆P2:舆P3:相似度舆P3:-1表示最大的反相矢性(即相似度最低)。的相似度很高:0.979相似度舆P1:舆P2:舆P3:相似度舆P3:-1表示最大的反相矢性(即相似度最低)。9这是正相矣而且接近于1,表示很相似相似度舆P1:舆P2:舆P3:相似度舆P3:ABCDEFGH1這是一個評分表,紀録4位客人對323XOrange4Mike750相似度相似度56306056705889表示很不相似相似度舆P1:舆P2:舆P3:相似度舆P3:ABCDEFGH1這是一個評分表,紀録4位客人對3種水果的偏好度。23X4Mike750相似度56306056705889而且接近于1,表示很相似相似度舆P1:舆P2:舆P3:相似度舆P3:向量表示法·首先来看看如何计算向量的相似度。基于向量的相似度计算2维向量·把这3个向量的坐标呈现于Excel表格里:ABCDEFG12X3相似度4舆V5舆V267相似度8Cosine相似度舆V29123456789ABCDEF相似度是比较向量之间的夹角大小。·两个向量之间的夹角愈小,表示其相似度愈高。以相似度最高。相似度最高·因为夹角最小123456789ABCDEF相似度相似度最低相似度最低,因为夹角最大只有一位是“1",其它位皆为"0”。编码。例如:<男>和<女>。就可以使用向量[1,0]代表<男>,并且使用向量[0,1]代表<女>。·例如,在一个向量空间里,这两个向量表示为:1代表<女>夹角是90°(0,1)代表<男>例如:<公鸡>、<母鸡>和<小鸡>。·就可以使用向量[1,0,0]代表<公鸡>,并且使用向量[0,1,0]代表<母鸡>,以及使用向量[0,0,1]代表<小鸡>。3个夹角都是90°<母雅><小雅>Ilikebanana.Ilovebanana.以此类推,得到下表:ABCDEFGHI12I100003010004001005love000106banana0017·于是,在一个向量空间里,这5个向量表示为:5个夹角"apple"apple"ABCDEFGHIJK12I100003010004001005love000106001789XIlikeapplelovebanana相似度舆S1舆S2舆S3相似度Vector相似度舆S3S3的相似度较小。其中值得注意的是:我知道了:妈妈的含意很相似。妈心中几乎是<同义词>。--普通相似度的句子:s0与s1,以及s2与s3。,Al机器学习就可以来帮忙了。--潜藏空间的神奇--修正单词的向量--潜藏空间的神奇--修正单词的向量判断句子涵意相似度Al来学习TlikeappleIlikebananaII权重权重X2Wh[]X1潜藏空间H潜藏空间HX空间simi04.py-C:\Users\Tom\AppData\Local\Programs\Python\Pythonwb=xw.Book(path+'simiwb04.xtm)ABCDEFGHI12I100003010004001005love000106banana0017ABCDEFGHI12I1003401000apple00005000106banana00176789EX空間x0x1x2學習(1回合)F00001111G0G00000000WH權重H潜藏空間N0Y空間學習學習(100回合)(1000回合)输入值都是OHE编码123456789ABC00000000000000000000001111G00000000WH權重H潜藏空間(1回合)(1000回合)(100回合)为0123456789AB00000000000000000000001111G00000000HH潜藏空間ZPRN0PR"banana"(1000回合)(1000回合)(1回合)(100回合)X空间Y空间X空间H潜藏空间叹文叹文修正hoh1误差Y空間UWO權重0.508Z0KJK00權重I學習00000000HGHX空間987654321·请按下<学习1回合>,如下:KMNH潜藏空間Z开 I(号回000I)最毒(导回001)昆南(号回I)最南0000000000IIII0000000000000000IIII00000000LL'O-608LCS'O-L9LaSLIεZX乙晶豆入昆平樊暴H重翻晶XIAnLS0d0NWIXfIHDHCDAV变了潜藏空间里的向量,如下:·请您按下<学习(100回合),此时修正了Wh和Wo权重,也改·于是,继续努力,学而时习之。·可以看出来,这两个向量的夹角很大,表示相似度很低。的向量是[0.596,-0.91]KLMNH潜藏空間Z-1.18-1.18-1.18-1.18·可以看出来,这两个向量的夹角已经缩小了。表示Al已经有一些领悟到妈妈的心意:"like"与"love"含意有些相似。●于是,继续努力,学而时习之。·请您按下<学习(1000回合)·此时修正了Wh和Wo权重,也改变了潜藏空间里的向量,如下:123456789AB學習學習(1000回合)ZY空間ZH·可以看出来,这两个向量的夹角已经很小了。表示Al已经充·接下来,就取出Wh权重,来进行句子的涵意相似度分析。XHH取出h,用来评估句子的相似度123456789ABF0000111Gx400000000JJU""I"123456789AI映射到H空間F00001BHH潜藏空間向量0·于是就可以利用这个Wh来将X空间里的5个单词向量,映射到H潜藏空间,得出5个H潜藏空间的向量。123456789映射到H空間转换为潜藏空间向量·于是得到了5个新向量。就可以取代X空间里的原本向量。KLMNH潜藏空間向量Ibanana-0.13小,表示其含义非常接近于同义词了。·接下来,就拿这H空间里的新向量,来评估句子的相似度。123456789AI取出,用来评估句子的相似度ABEFGHI1量2I3句子的相似度456banana-0.13789XIlovebanana·于是就可以利用这个H空间里的5个单词向量,来计算出这4个句子的相似度了。·请按下<句子的相似度>:ABCDEFGHI1H向量2I3句子的相似度456banana-0.13789XIbanana相似度相似度朗S1舆S3舆S2舆S3向量非常相似,因而涵义非常接近于89很相似相似度舆S3相似度句子"Ilovebanana"。所以s1与s3的相似度极高。89舆S1舆S1舆S2很相似相似度1相似度相似度句子"Ilovebanana"。所以s1与s3的相似度极高。89相似度不很相似舆S3相似度1优化模型:行优化动作。RunOptimizerEngine.xml.binOpenVINO"操作范例:延续刚才的NLP范例,并且扩大如下:ABCDEFGH1JKLMN1XH(潜藏空间)T20100003010000400100050010006000100700010081000009000010000001(500回习·其中共含有6个单词。将它们全部拿来训练ML模型。·现在就来看看Python+TensorFlow的范例程式:fromkeras,optimizersimportSGDfromkeras.modelsimportModelfromkerasimportbackendasKimporttensorflowastfdx=np,array([[0,1,0,0,0,0],[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0j,[1,0,0,0,0,0],[0,0,0,0,1,0],dt=np.array([[1,0,0,0,0,0],[0,0,0,0,1,0],[1,0,0,0,0,0],[0,0,0,0,1,0],[1,0,0,0,0,0],[0,0,0,0,0,1],[1,0,0,0,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1j],#------------continued------importnumpyasnpimportkerasimporttensorflowastfABCDEFGHKLMN1XH(潜藏空间)T20100003010000400100050010006000100700010081000009000010000001学习(500回合)[[1,0,0,0,0,0],[0,0,0,0,0,1j],#------------continued------importnumpyasnpimportkerasbackendastfasKdx=np,array([[0,1,0,0,0,0],[[1,0,0,0,0,0],wh=[np,array([[0.5,0.0]20.1-0.50.0,0.1],np.array([0.5,0.5],dtype=np.float32)]wo=[np,array([[0.5,0.1,-0.1,0.0,0.5,-0.1],np,array([0,0,0,0,0,0],dtype=np.float32)]N=6S=9H=2Hlayer=Dense(H,activation='linear'0layer=Dense(O,activation='softmaxencoder=Nonedecoder=None#--------------continued----------)modelcompilelosskeraslossescatHlayer.setweights(wh)Olayer.setweights(wo)model.fit(dx,dt,3,Epoch,0)sess=K.sess=K.getsession()sess,run(tf.localvariablesinitializer())"C:/pb/","nlpmodel.pb",astext=False)tf.io.writegraph(frozengraph,#.#.Olayer.setweights(model.fit(dx,dt,3,Epoch,0)的W&B初期值modelcompilelosskeraslossescaHlayer.setweights(wh)0layer.setweights(wo)model.fit(dx,dt,3,Epoch,0)sess=sess=K.getsession()invert_variables_to_constants("C:/pb/","nlpmodel.pb",astext=False)tf.io.writegraph(frozengraph,OptimizerPytorch→ONNXtraining(500)操作流程:起步·刚才已经从TensorFlow汇出*pb档案了,其路径和档步骤-1:进入优化器的工作区的命令列窗口出发:1.3从上述画面上,点选<以系统管理员身分执行>,就会出现命令列视窗:MicrosoftWindows[版本10.0.16299.2166]1.4输入命令:cd"C:\ProgramFiles(x86)\IntelSWTools\openvino\deploymenttools\modeloptimizer"并且按<Enter>。1.5就进入到模型优化器(ModelOptimizer)的工作区了:管理员:命令提示符MicrosoftWindows[版本10.0.16299.2166]WindowssystemcdPrograProgramFilesIntelSWToolsopenvinodep步骤-2:展开优化2.1输入命令:C:\ProgramFiles(x86)\IntelSWTools\openvino\deploymenttools\modeloptimizer>pythonmotf.py-inputmodel"C:\\pb\\nlpmodel.pb"--outputdir"C:\\pb\\"--inputshape[9,6]●这指示它:刚才从TensorFlow所产生的*.pb档案是--“C:\\pb\\nlpmode.pb”。●也告诉它:转换出来的IR档案的储存路径(文件夹),例如指定放在”C:\\pb\”里。输入资料的格式是:[9,6]。2.2优化完成了●完成时,会出现画面:SUCCESS]Totalexecutiontime:2.69seconds.It'sbeenawhile,checkforanewversionofIntel(R)Discom/en-us/openvino-toolkit/choose-download?cid=&source=ups●此时优化器将PB模型档·成功地转换出IR档案了。●这里所谓的IR档案·就包括了这3个档案:步骤-3:圆满成功推论引擎推论引擎使用推论引擎(IR)Optimizer使用推论引擎(IR)使用推论引擎(IR)使用推论引擎(IR)撰写App检测模型使用推论引擎(IR)ABCDEFGH1JKLMN1XH(潜藏空间)T20100003010000400100050010006"hate"0001007"hate"000100"banana"81000009000010000001学习(500回合)使用推论引擎(IR)·在上一阶段里,已经从Optimizer汇出IR档案了,其路步骤-1:开始撰写Python代码net=ie.readnetwork(model=modelxml,weights=modelbin)supportedlayers=ie.querynetwork(network=net,devicename="CPU")net=ie.readnetwork(model=modelxml,weights=modelbin)supportedlayers=ie.querynetwork(network=net,devicename="CPU")步骤-1:开始撰写Python代码InputInfoPtr=net.inputinfoInputLayer=next(iter(InputInfoPtr))0,0,0,0,1,0],[0,0,0,0,0,1]],dtype=np.float32)步骤-2:安排IE<推理>的输入和输出print("\n----H(latentvector)----")results=OpenVinoExecutable.infer(inputs={InputLayer:dx})v=results['result/BiasAdd/Add']print("\n檢測結果:\n")print(np.round(v,2))步骤-3:实际运行这App步骤-4:输出推理(预测)结果檢測結果:扩大App计算句子相似度使用推论引擎(IR)檢測結果:ABEFABEFGH1J12(“I”向量)34相似度5-0.6-3.3舆V16舆V278ate"向量).相似度9-0.7-1.6相似度-0.6-1.6步骤-5:扩大Appimportargparsefromopenvino.inferenceengineimportIENetwork,IECoredefgo():globalhvnet=ie.readnetwork(model=modelxml,weights=modelbin)supportedlayers=ie.querynetwork(network=net,devicename="CPU")ie.loadnetwork(net,"CPU")print("IRsuccessfullyloadedintoInferenceEngine.")步骤-5:扩大AppInputInfoPtr=InputLayer=next(iter(InputInfoPtr))[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,1,0,0],[1,0,0,0,0,0],[0,0,0,0,1,0][0,0,0,0,0,1]],dtype=np.flo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论