赞
踩
安装vmware,vmware在我们的百度网盘可以下载到
链接:https://pan.baidu.com/s/1nhXQxRgYh9cDEFMw5sMvAQ
提取码:z1dm
下载我们准备好的虚拟机
地址:
链接:https://pan.baidu.com/s/1mdZV9jn74RCxKp_pUh4mew 提取码:623k
本章的例程与上一节的相同,请移步
Powersensor AI教程1.1-数字识别-tf模型训练下载。
本章主要介绍的PowersensorAI部署的第二个环节,通过xilinx的DNNDK,将tensorflow训练好的模型进行固化、编译等操作。最终生成powersensor可以运行的elf文件。这个环节称为dnndk环节。
打开虚拟机,登录密码是123
在虚拟机的/home/xiaobo/powersensor
目录下新建ministNumber
文件夹(随教程发布的案例会已经存在),并把案例目录下的dnndk
文件夹和dataset_valid
文件夹复制到新建的文件夹下面。如果要使用自己新训练的模型,需要把自己的模型(在案例目录/pc/run
下面的2个模型文件)替换掉我们准备好的文件。
在虚拟机里的dnndk文件夹里在打开终端:
第一步,模型固定,把tensorflow的权值固定到结构中,指令是./1_vitisAI_keras2frozon.sh
xiaobo@ubuntu:~/powersensor/fashion-minist/dnndk$ ./1_vitisAI_keras2frozon.sh
############################################
Convert keras h5 model to frozon model begin
Vitis AI 1.1
############################################
I0515 05:22:53.318743 139635748165376 keras_to_tensorflow.py:146] Converted output node names are: [u'dense_out/Softmax']
INFO:tensorflow:Froze 8 variables.
I0515 05:22:53.326545 139635748165376 tf_logging.py:115] Froze 8 variables.
INFO:tensorflow:Converted 8 variables to const ops.
I0515 05:22:53.329962 139635748165376 tf_logging.py:115] Converted 8 variables to const ops.
I0515 05:22:53.332588 139635748165376 keras_to_tensorflow.py:178] Saved the freezed graph at frozon_result/model.pb
############################################
Convert completed
############################################
frozon完模型,工具会把网络节点的名称打印出来。一般地,第一个是输入节点,最后一个是输出节点。
2_vitisAI_tf_quantize.sh
中的input_nodes
、input_shapes
、output_nodes
改成与第一步打印的节点名称一致。xiaobo@ubuntu:~/powersensor/fashion-minist/dnndk$ ./2_vitisAI_tf_quantize.sh ##################################### Quantize begin Vitis AI 1.1 ##################################### ('../dataset/fashion-mnist/t10k-images-idx3-ubyte.gz', '../dataset/fashion-mnist/t10k-labels-idx1-ubyte.gz') t10k labels:10000 t10k datas shape:(10000,28,28) INFO: Checking Float Graph... INFO: Float Graph Check Done. INFO: Calibrating for 100 iterations... 100% |#########################################################################| INFO: Calibration Done. INFO: Generating Deploy Model... INFO: Deploy Model Generated. ********************* Quantization Summary ********************* INFO: Output: quantize_eval_model: ./quantize_results/quantize_eval_model.pb deploy_model: ./quantize_results/deploy_model.pb ##################################### QUANTIZATION COMPLETED #####################################
./3_vitisAI_tf_compile.sh
记住这两个节点的名称和模型的名称,在Powersensor上的edge阶段就使用这两个名称来引用节点。
编译完成后会在当前目录的compile_result
目录下生成dpu_testModel_0.elf
文件,这个就是最终要在DPU上运行的二进制库,把它从虚拟机里拷贝出来备用:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。