zzx1997 发表于 2021-3-19 19:47

【米尔边缘AI计算盒FZ5测评】手写数字识别——pytorch网络搭建Lenet网络

<div class='showpostmsg'><p style="text-indent:24.0pt; text-align:justify"><span style="font-size:12pt"><span style="line-height:150%"><span style="font-family:&quot;Times New Roman&quot;,serif"><span style="font-family:宋体">本次测评将尝试搭建手写数字识别的第一部分:</span>pytorch<span style="font-family:宋体">框架的搭建。当然百度的</span>EasyDL<span style="font-family:宋体">可以进行神经网络的搭建和部署,但是</span>pytorch<span style="font-family:宋体">作为当下较为流行的神经网络框架也是很值得我们学习的。</span>LetNet<span style="font-family:宋体">网络</span><span style="font-family:宋体">一直被作为神经网络的当中的&ldquo;</span>Hello World<span style="font-family:宋体">&rdquo;,本次实验也已利用</span>PYNQ<span style="font-family:宋体">框架实现手写数字识别作为神经网络加速的入门教程。首先简要介绍一下</span>LetNet<span style="font-family:宋体">网络:</span></span></span></span></p>

<p style="text-indent:24.0pt; text-align:justify"></p>

<p style="text-indent:24.0pt; text-align:justify"><span style="font-size:12pt"><span style="line-height:150%"><span style="font-family:&quot;Times New Roman&quot;,serif"><span style="font-family:宋体">其首先将输入大小为</span>32*32<span style="font-family:宋体">的单通道图片,然后通过若干卷积层和全连接层得到最终的分量向量,从而得到最终的分类结果。可以看到</span>LetNet<span style="font-family:宋体">网络结构非常的简单明了,然后使用</span>pytorch<span style="font-family:宋体">框架对网络进行了搭建和训练,首先导入相关库函数:</span></span></span></span></p>

<p align="center" style="text-align:center; text-indent:24.0pt"></p>

<p style="text-indent:24.0pt; text-align:justify"><span style="font-size:12pt"><span style="line-height:150%"><span style="font-family:&quot;Times New Roman&quot;,serif"><span style="font-family:宋体">然后加载</span>pytorch<span style="font-family:宋体">自带的</span>MNIST<span style="font-family:宋体">数据集,并将其可视化:</span></span></span></span></p>

<p align="center" style="text-align:center; text-indent:24.0pt"></p>

<p style="text-indent:24.0pt; text-align:justify"><span style="font-size:12pt"><span style="line-height:150%"><span style="font-family:&quot;Times New Roman&quot;,serif"><span style="font-family:宋体">然后定义网络结构,并且使用优化器进行训练,可以看到,得到的训练结果如下所示:</span></span></span></span></p>

<p align="center" style="text-align:center; text-indent:24.0pt"></p>

<p style="text-indent:24.0pt; text-align:justify"><span style="font-size:12pt"><span style="line-height:150%"><span style="font-family:&quot;Times New Roman&quot;,serif"><span style="font-family:宋体">准确率在</span>98%<span style="font-family:宋体">到</span>99%<span style="font-family:宋体">之间波动,效果良好,然后对权重进行保存。保存的</span>pth<span style="font-family:宋体">文件,</span>pynq<span style="font-family:宋体">难以直接读取,所以可以将其转换为其他形式的文件,如</span>bin<span style="font-family:宋体">,</span>txt<span style="font-family:宋体">等。这里为了让参数更加直观,将其保存为了</span>txt<span style="font-family:宋体">文件,由于</span>pth<span style="font-family:宋体">文件其为字典形式的文件,所以需要编写一个脚本文件,打开第一个卷积层的权重可以看到其有</span>150<span style="font-family:宋体">个数据,符合</span>6*5*5=150<span style="font-family:宋体">的预期,</span>LetNet<span style="font-family:宋体">的网络训练部分告一段落。</span></span></span></span></p>

<p align="center" style="text-align:center; text-indent:24.0pt"></p>

<p style="text-indent:24.0pt; text-align:justify">&nbsp;</p>

<p style="text-indent:24.0pt; text-align:justify">&nbsp;</p>

<p style="text-indent:24.0pt; text-align:justify">&nbsp;</p>

<p style="text-indent:24.0pt; text-align:justify">&nbsp;</p>

<p style="text-indent:24.0pt; text-align:justify">&nbsp;</p>

<p style="text-indent:24.0pt; text-align:justify">&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页: [1]
查看完整版本: 【米尔边缘AI计算盒FZ5测评】手写数字识别——pytorch网络搭建Lenet网络