TensorFlow +OpenVINO 整合开发CR-A06-深度神经网络-以分类器为例_第1页
TensorFlow +OpenVINO 整合开发CR-A06-深度神经网络-以分类器为例_第2页
TensorFlow +OpenVINO 整合开发CR-A06-深度神经网络-以分类器为例_第3页
TensorFlow +OpenVINO 整合开发CR-A06-深度神经网络-以分类器为例_第4页
TensorFlow +OpenVINO 整合开发CR-A06-深度神经网络-以分类器为例_第5页
已阅读5页,还剩231页未读 继续免费阅读

下载本文档

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

文档简介

深度神经网络2.分类器的NN模型3.复习:空间对应4.神经网络的空间对应5.范例实现:使用TensorFlow6.优化模型:使用OpenVINO优化器7.测试模型:使用OpenVINO推论引擎认识神经网络行仿真运算,是目前人工智能领域最常用模型认识神经网络信息方式的数学模型(Model),藉由数学式来进行仿真运算,是目前人工智能领域最常用模型之一。元(Neuron),每个神经元是与其他神经元连结状态的刺激,也会冲击其他神经元。如下图:认识神经网络神经元Y输出信息输入信息认识神经网络到突触后细胞,其中突触上一个神经元向突触下一个神经元持续的刺激,提高突触传递的效能。·在人工神经网络里,就以权重」(Weight)来表示这种效能的高低。如下图:神经元Y输出信息输入信息认识神经网络神经元神经元认识神经网络神经元神经元表这个神经元突触传递效能,也就是「权重」。神经元WO神经元W1X1Y分类器的NN模型复习:简单NN模型层与输出层。神经元Wo神经元复习:简单NN模型层与输出层。·在称呼时,通常不把输入层算进去,所以这种简单的模YY复习:简单NN模型·这图里的输出层只有一个神经元,这种简单模型适合于二分法(即二元分类)的判断。YY分类器的NN模型复习:简单NN模型·这图里的输出层只有一个神经元,这种简单模型适合于二分法(即二元分类)的判断。·换句话说,针对二元分类或是回归的情境时,其输出层通常只需要一个神经元。YY分类器的NN模型多元分类NN模型:·这是稍微复杂一点的单层NN模型,其仍然包含两个部分:输入层与输出层。分类器的NN模型多元分类NN模型:·这是稍微复杂一点的单层NN模型,其仍然包分类器的NN模型多元分类NN模型:·如果需要进行多元分类时,其输出层就需要多个神经元,而且输出层的神经元个数会等于类别的数量。神经元分类器的NN模型·例如,下图是三层NN模型(不算输入层):神经元神经元Y输出层隐藏层输入层Z模型隐藏层激活函数:Sigmoid二元分类损失函数:交叉墒损失函数:交叉墒激活函数:Sigmoid二元分类多元分类二元分类神经网络的空间对应·在分类模型中,人们给予目标值,而Al则探索出足够好的W和B,进而求出足够趋近于目标的预测值。·在人们心中,先对事物进行了分类,并给各类别贴上标签(即目标值),来指引(监督)ML逐步学习分类。所以,复习:简单分类器的空间对应<水>与<冰>。二元分类234567891维坐标以3456789学习分类学习分类学习分类学习分类学习分类·这个范例里,人们将事物区分为两个类别,所以设定目标值:1代表<水>·且0代表<冰>。这通称为:二元分1维坐标坐标Al逐步探索&学习Al逐步探索&学习ABCDEFGHIJKL1二元分类231维坐标以X*W+B=Y表示1维坐标4XB(bias)T501(水)611(水)741(水)851(水)9-50(冰)-60(冰)完成了! 学习分类(300回合)学习分类(3000回合)学习分类(30回合)Al逐步探索&学习·Al找到了W和B值。然后将这W和B值带入X*W+B=Y和Sigmoid(Y)=Z两公式,而计算出来的Z值。例如,1维坐标X*W+B=YX*W+B=Y0(冰)0.2-6-5Al逐步探索&学习空间里的6个点(代表6瓶水)都计算出其预测值·并呈现于Z空间里,如下图:1维坐标Z(冰)Al逐步探索&学习Z1维坐标1(水)0.90(冰)0(冰)Al逐步探索&学习ABCDEFGHIJK1二元分类23以X*W+1维坐标4XT501(水)611(水)741(水)1851(水)19-50(冰)0-60(冰)0完成了! 学习分类(30回合)学习分类(300回合)学习分类(3000回合) Al逐步探索&学习Y和Sigmoid(Y)=Z两公式,而计算出来的Z值:1维坐标Al逐步探索&学习·预测值与其目标值,已经更接近了。但是仍有误差。,,110(冰)0变小了Al逐步探索&学习ABCDEFGHIJKL1二元分类231维坐标以X*W+B=Y表示1维坐标4XW(weight)B(bias)T501(水)611(水)741(水)1851(水)19-50(冰)0-60(冰)0完成了! 学习分类(30回合)学习分类(300回合)学习分类(3000回合)学习分类(3000回合)Al逐步探索&学习·预测值已经足够接近于目标值了。23456789X01411-5学习分类很小了Al逐步探索&学习·其中4瓶水预测值,很接近于目标值(1),就归于<水>类。1维坐标(水)0.9(水)0.9(水)10(冰)00(冰)0<水>类Al逐步探索&学习·其中2瓶水预测值,很接近于目标值(0),就归于<冰>类。T1(水)1(水)1(水)11(水)10(冰)00(冰)0<冰>类神经网络的空间对应神经网络的空间对应神经网络与空间对应·人工的神经网络(NeuralNetwork)是一种模仿人类头脑处理信息方式的数学模型。·本节将以神经网络图形来表达空间对应之矣系,以及表达X*W+B=Y的计算过程。范例-1对应到一维的Y空间神经网络与空间对应·例如,下图所示的简单空间对应矢系。·请按下<寻找W&B>,就迅速找出W和B值,如下ABCEFGH1空间的概念231维坐标以X*W+1维坐标4XW(weight)B(bias)Y50161372589寻找W&B(即XY对应矣系)神经网络与空间对应这个Al模型就迅速找出W这个Al模型就迅速找出W和B值,如下:21534567X012899神经网络与空间对应·于是,目前已知X、W和B值了,就带入X*W+B=Y公式,如下图:W值是:2X空间X空间神经网络与空间对应XYW神经网络与空间对应XYW从三维的X对应到一维的Y空间神经网络与空间对应·接下来,看看从三维的X对应到一维的Y空间的范例:ABCEFGH1J1NN图形(3维)233维坐标1维坐标4擦口红高跟鞋抽烟Y51001(女士)6Mike0101(女士)70010(男士)81101(女士)9寻找W&B(即XY对应矣系)(即XY对应矣系)神经网络与空间对应·请按下<寻找W&B>,就找出W和B值,如下:123456789ABC3维坐标D抽烟0010B1BW0W01维坐标Y101神经网络与空间对应式,如下图:X空间X空间101W2=-101X20从三维的X对应到二维的Y空间神经网络与空间对应·接下来,看看从三维的X对应到二维的Y空间的范例:123456789ABCD3维坐标擦口红高跟鞋抽烟2维坐标11010010(男士)神经网络与空间对应·请按下<寻找W&B>,就找出W和B值,如下:123456789ABCD3维坐标抽烟00抽烟001012维坐标11010010(男士)1神经网络与空间对应·于是,目前已知X、W和B值了,就带入X*W+B=Y公式,如下图:00b1(0,1)W0100b1b1从三维的X对应到二维的Z空间神经网络与空间对应·接下来,看看从三维的X对应到二维的Z空间的范例:BCEFGHIJKLMN1NN图形(3维)233维座4钱多事少离家近BTZ511110(喜欢)6101W10(喜欢)711001(普通)810001(普通)901000(普通)分类神经网络与空间对应·按下<分类>,就找出W和B值,然后经过X*W+B=Y和Sigmoid(Y)=Z公式的运算,得出Z值。如下:123456789A3维座标11110事少10101110004HT2维座标&SigmoidN神经网络与空间对应·现在,使用神经网路图形来表达这个公式的运算。b1b10x0*w01+x1*w11+x2*w21+blSigmoid(y1)=zlb1b103.8XZO123456789A多个隐藏层3维座标钱多事少离家近BWZZT多层一起学习同步修正这三层权重。·换句话说,这三层权重是一起逐步成长的。·按下<多层一起学习>。多层(深度)神经网络·就会寻找出各隐藏层的权重(如WH1和BH1),同时也寻找出输出层的权重(即W和B)。123456789A3维座标11011001001111T·将输入层X空间,对映到隐藏层H1空间·再对映到隐藏层H2空间·再对映到输出层的Z空间。例如,将X=[1,1,0]经由三层权重的计算流程是:1WW110范例实现-1视角-1:数据矣系视角-2:视角-3:BCEFGHJKLMN01多个233维座标H2Z4钱多事少离家近T51101(快乐)61011(快乐)70010(闷)80110(闷)9多层一起学习(目标值)(目标值)importkerasfromkeras,modelsimportSequentialdefsigmoid(x):return1/(1+np,exp(-x))#-X=np,array([[1,1,0],准备训练数据wh1ini=[np,array([[0.1,0.2],X[]和T[][-0.2,0.2[0.5,:0.1]],dtype=np.float32),np.array([0.5,0.0],dtype=np.float32)]wh2_iniay[.1,1],dtype=np.float32),np,array([0.5,0.0],dtype=np.float32)]woini=[np,array([[0.1][-0.21],dtype=np.float32),np,array([0.0],dtype=np.float32)]0,120,0,10,1]],,dtype=np.float32)T=np,array([30,0],dtype=np.float32)[0.5,-0.1]],dtype=np.float32),np.array([0.5,0.0],dtype=np.float32)]continuedNalohalwhiwh2uomndeldh1=Dense(H1,activation='linear',name="dh1",inputdim=N)model.add(dh2)model.add(d)pile(loss=keras,losses.MSE,optimizerkerasoptimizerS=4H1S=4H1=2defg()wh,wh2,wo,model模型(Model)dh1=model.add(dh2)model.add(d)pile(loss=kerasoptimizerkerasoptimizeglobalwhl,wh2,wo,modeldh1=Dense(H1,activation='linear',name="dh1",inputdim=N)dh2=Dense(H2,activation='linear',name="dh2",inputd=Dense(O,activation='sigmoid',name="d",inputpile(loss=keras,losses.MSE,optimizer=keras,optimizers.SGD(1r=0.05),metrics=['accuracy'])dh1.setweights(whlini)dh2.setweights(wh2ini)d.setweights(woini)model.fit(X,T,1,2000,0)globalwh1,wh2,wo,modeldh1=Dense(H1,activation='linear'dh2=Dense(H2,activation='linear'd=Dense(O,activation='sigmoid'modelcompilelosskeraslosseoptimizerkerasoptimizersSGprint(mp.round(z,2))print("\n--------W&B--------")print("BH1=")print(np.round(bh1,2))print("WH1=")print(np.round(wh1,2))print("\nBH2=")print(np.round(bh2,2))print("WH2=")print(np.round(wh2,2))print(np,round(bo,2))print("WO=")print(np.round(wo,2))training()运行Python程序,输出预测值[[1.][0.99[0.01-------Ⅱ&B[[-2.040.15][0.20.18]BH2=[0.45BO=[[-0.21][[-0.21][-2.09]]ABCEFGH1JKLM1多个隐藏层233维座HH2SigmoidZ4钱多事少离家近T51101(快乐)161011(快乐)70010(闷)80110(闷)09B多层一起学习W完成了!范例实现-2认识ECG(心电图)电图,许多人都在医院做过心电图检查。armsonatableoryourlegs.认识ECG(心电图)段等)包含着丰富的病理资讯。RPSegmentTS·这些波段都包含了非常多的病例资讯。例如:RR期间可以反映心动周期的时限;相邻心动周期的RR期间的比值可以反映室性早搏;R波和S波幅值的比值和R波和S波之间的时限可以反映房性早搏等异常情况,等等。P⑤①①①httpswwwmaimonidesemo介绍MIT-BIH心电数据库库。此资料库中含括了丰富的心电讯号。建立一个多层(深度)NN模型MIT-BIH的ECG数据来训练它。异常分类方法通常将信号分为5类。CNN)来从预处理后的ECG信号中自动提取特征,然后依据这些特征来进行最终的分类。建立一个多层(深度)NN模型向,也就是时间方向的位置是有意义的,垂直方向,也就是振幅方向,在知道水淮方向的位置后可以直接得到精确的幅值。够精准地分割信号就可以了。视角-2:视角-3:ABCEFGH1JK1ECG心电图AI模型:学习特征2基于MIT-BIH大数据3本范例使用1432笔(分为5类)45MIT-BIH数据6789AI学习ABCEFGH1JKLM1ECG心电图AI模型:学习特征2基于MIT-BIH大数据3本范例使用1432笔(分为5类)415MIT-BIH数据6170890AI学习111Total:·为了节省模型训练的时间,只读取其中的1432笔来训练Al模型。每一笔资料包含187个特征值。1T20000000300000004000000050000000600000017000000180000002900000020000003000000300000040000004分类标签ABCDEFGH1JKLM1ECG心电图AI模型:学习特征2基于MIT-BIH大数据3本范例使用1432笔(分为5类)415MIT-BIH数据6170890AI学习111学习完成了Total:ABCEFGH1JKLM1特征234测试ECG数据预测(5种症状)5678class-0class-]class-2class-49ABCDEFGH1JKLM1ECG心电图AI模型:测试特征2基于MIT-BIH的测试数据314测试ECG数据预测(5种症状)5161718class-0class-1class-2class-3class-49001110.95711T2000000003000000004000000005160000000170000000180000000290000000200000002000000030000000300000003000000040000000400000004 8class-0class-1class-291000010000100000000100001000001000010000100000000000100000100001001000000000678412567891811111000000000000001100000000000000011100000000000000000000000T000111222333444输入层FC层输出层输入层潜藏空间H1##importtensorflowastfX=NonedefreadData():globalX,Tdftrain=pd.readcsv(path+'mitbihtrain1432.csv',header=None)dftrain=dftrain.sample(frac=1)X=np,array(dftrain[list(range(N))].values)[:..,np.newaxis]T=np.array(dftrain[N].values).astype(8)creatcreatingm):defgetModel(x=Input(shape=(N,1))h=ConvoltutionlD(16,5,activation='relu',padding="valid")(x)h=ConvolutionlD(16,5,activation='relu',padding="valid")(h)h=MaxPool1D(2)(h)h=Dropout(0.1)(h)建立多层NN模型h=ConvolutionlD(32,3,h=ConvolutionlD(32,3,h=MaxPool1D(2)(h)h=Dropout(0.1)(h)h=ConvolutionlD(32,3,h=ConvolutionlD(32,3,h=MaxPool1D(2)(h)h=Dropout(0.1)(h),padding="valid")(h),padding="valid")(h)z=ConvolutionlD(64,3,=ConvolutionlD(64,3,=GlobalMaxPool1D()(h)=Dropout(rate=0.1)(h)activation='relu',padding="valid")(h)activation='relu',padding="valid")(h)===Dense(64,activation='relu'name="d2")(y))(y)optimizeroptimizersAreadData()model=.getModel()model.fit(X,,T,epochs=150,verbose=9,callbacks=None,validationsplit=0.1)#-------Savedto*,pb-sess=K.getsession()sess.run(tf.localvariablesinitializer())frozengraph=tf.graphutil.Convertvariablestoconstants(tf.io.writegraph(frozengraph;"C:/pb/","ecgmodel.pb",astext=False)tf.io.writegraph(frozengraph,"C:/pb/","ecgmodel.pbtxt",astext=True)print("\nSavedtoc:/pb/ecgmodel.pb\n")dftrain=pd.readcsv(path+'mitbihtrain1432test.csv',header=None)#dftrain=pd.readcsv(path+'mmhecg140.csv',header=None)TX=np.array(dftrain[list(range(187))].values)[...,np.newaxis]z=model.predict(TX)zz=np.round(z,3)print(zz)sess=K.getsession()vert_variables_to_constants(sess,tf.getdefaultgraph(),asgraphdef(),"C:/pb/","ecgmodel.pb",astext=False)tf.io.writegraph(frozengraph;print("\nSavedtoc:/pb/ecgmodel.pb\n")dftrain=pd.readcsv(path+'mitbihtrain1432test.csv',header=None)dftrainpdreadcsvpathmmhecgcsyheader=None)OptimizerreadData()model=getModel()#-------Savedto*.pb-sess=K.getsession()sess,run(tf.localvariablesinitializer())读取测试数据,并预测tf.io.writegraph("C:/pb/"__print("\nSavedtoc:/pb/ecgmodel.pb\n")dftrain=pd.readcsv(path+'mitbihtrain1432test.csv',header=None)#dftrain=pd,readcsv(path+'mmhecg140,csy',header=None)TX=np.array(dftrain[list(range(187))].values)[...,np.newaxis]z=model.predict(TX)zz=np.round(z,3)LTcTr[r[ LTcTr[r[ 89100001000000000000100000000000001000010000000000000000000000[[0.9960.[1.0.F⁰:0030.c:/pb/ecgmodel.pb0.9980.0.10.0.n1111优化模型:行优化动作。操作流程:起步·刚才已经从TensorFlow汇出*pb档案了,其路径和步骤-1:进入优化器的工作区1.1首先从Windows的命令行窗口出发:

温馨提示

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

评论

0/150

提交评论