100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 耐能KL520 AI 芯片应用开发技能 <Part-005>

耐能KL520 AI 芯片应用开发技能 <Part-005>

时间:2019-10-08 13:59:05

相关推荐

耐能KL520 AI 芯片应用开发技能 <Part-005>

文章目录

前言一、从训练模型出发 1.准备测试资料2.最典型的程序范例3.撰写App来引导推论总结

前言

《耐能KL520Python程序雕龙小技》

Part-005

By 神樱AI团队

/7/01

KL520推论后,添加Softmax运算

说明:

& 二元分类(Binary Classification)只要表现于最后一层的FC层(即全连接层)。

& FC层的标准实践机制,就是Pytorch的nn.Linear()。

& 实作途径有二:

如果nn.Linear()的输出层是2个神经元,就可以搭配Softmax()激活函数,来时作二元分类。如果nn.Linear()的输出层是1个神经元,就可以搭配Sigmoid()激活函数,来时作二元分类。

& 然而,在KL520推论时,只输出最后nn.Linear()层的神经元的值。

& 并没有再经由Softmax()激活函数计算。

& 所以并非输出Softmax()计算之后的值。

&于是,我们需要自己拿Softmax()来计算之,才是正确的分类(条件)机率值。

一、从训练模型出发

1、准备测试资料

& 本范例使用两个图像集(Dataset):

& 两类别,各有50张图像:

& 所以,训练数据集共有100个样本。

2、最典型的程序范例

& 使用nn.Linear()搭配Softmax()函数。

&指令:

&这迁移ResNet50的预训练模型。

&添加上自己的FC层,指令:

&这nn.Linear()的输出层是2个神经元,搭配Softmax()激活函数。

&程序代码:

& 执行它,就展开训练,输出:

& 这也汇出onnx档案。

&经由耐能toolchain进行转换优化,生成*.nef档案:

&就能在KL520上运行推论了。

3、撰写App来引导推论

&现在就来撰写一支myApp.py来引导推论。

&此范例程序代码:

&在KL520上执行这支App,就进行推论,而输出:

&由于KL520推论输出的值,是nn.Linear()层的输出神经元的值。并没有经过Softmax()的转换。

&于是,就在上述myApp.py里,增添一行指令:

& 修改完毕了。

& 重新执行这myApp.py程序。

& 就输出正确预测(推论)结果了,如下:

& 于是,顺利实作完成了。

& 最后,感谢您阅读本篇文章。本篇文章摘自【AI学习杂志】。

& 与神樱AI团队联络:misoo.tw@。

◆◆◆

总结

更多资讯可私信,或者关注!

在个人主页,也可学习更多:

1、《关于NCS2+Openvino》:、/452Tz

2、《建模_Unet_GAN》:/am37C

3、《彩绘GAN模型》:/OpfJ7

.............................................

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。