①创建工作文件夹。为Smile数据集创建分别存放正负图像样本的文件。如果文件目录尚不存在,可以使用如下指令进行创建:
mkdir repos/SMILEsmileD/SMILEs/positives/positives_aug/
②增强数据集。Smile数据集由3 000个正样本图像和9 000个负样本图像组成。为了避免产生偏差模型,最好使用相同数量的正负图像样本。为了解决这个问题,训练中可以通过在正图像上使用此扩充脚本来扩充数据集。可以使用如下指令脚本将使正样本的数量增加3倍:python2 repos/openmv/tools/augment_images.py--input repos/SMILEsmileD/SMILEs/positives/positives7/--output repos/SMILEsmileD/SMILEs/positives/positives_aug/--count 3
③训练模型。利用create_imagenet工具将样本转换为lmdb格式,利用make_imagenet_mean工具生成图像均值,然后定义模型结构并编写配置文件,就可以开始模型训练。训练后的文件位于:(www.xing528.com)
repos/openmv/ml/cmsisnn/models/smile/smile_database/
④量化模型。训练出模型参数后,实际应用中需要将其缩小到合理的大小。可以设计量化脚本将Caffe模型的权重和激活从32位浮点转换为8位定点格式。这样不仅会减少网络的规模,而且还会避免浮点计算。NN量化器脚本通过测试网络并找出动态定点表示的最佳格式来工作。该脚本的输出是一个序列化的Python(.pkl)文件,其中包括网络的模型,量化的权重和激活以及每一层的量化格式。运行以下命令将生成量化模型:python2 repos/ML-examples/cmsisnn-cifar10/nn_quantizer.py--model repos/openmv/ml/cmsisnn/models/smile/smile_train_test.prototxt--weights repos/openmv/ml/cmsisnn/models/smile/smile_iter_∗。caffemodel-保存回购/openmv/ml/cmsisnn/models/smile/smile.pk1
⑤将模型转换为二进制。最后一步是使用NN转换器脚本将模型转换为可在人工智能开源控制板上运行的二进制格式。转换器脚本输出每种层类型的代码,然后输出层的尺寸和权重。运行以下命令将生成二进制模型:python2 repos/openmv/ml/cmsisnn/nn_convert.py--model repos/openmv/ml/cmsisnn/models/smile/smile.pk1--mean/home/embedded/repos/openmv/ml/cmsisnn/models/smile/smile_database/mean.binaryproto-输出存储库/openmv/ml/cmsisnn/models/smile/smile.network
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。