当前位置: 首页 > news >正文

极简cnn-based手写数字识别程序

1.先看看识别效果:

这个程序识别的是0~9的一组手写数字,这是最终的识别效果,为1,代表识别成功,0为失败。

然后数据源是:ds = deeplake.load('hub://activeloop/optical-handwritten-digits-train')里面是一组压缩存储的32*32 bits 0-1点阵,内容是0~9的数字的手写数据。我训练了150次,最终达到的效果。

模型非常简单:

        x = self.conv1(x)
        x = self.relu(x)
        x = self.conv2(x)
        x = self.relu(x)
        x = self.pool2d(x)
        #x = self.drop(x)
        x = x.view(-1)
        x = self.fc1(x)
        x = self.relu(x)
        x=self.fc2(x)

其中两级卷积层,然后是一个池化层,然后是两组连接层映射,最终到达一组prob数据,它是一个长度10的向量,相当于一个分类识别的概率结果。

现在,我大概也能处理yolo那组数据集,会慢,准确率和效率可能都不高,但是我能利用这种手工搭建模型的机制做成。这个模型和yolo的目标基本一致,yolo多了多目标识别,最终链接层的output会更复杂。

这个任务数据量不大,容易处理。训练速度很快,这一次的代码,基本上完全是自己写的。160行。工程上用到的一些信号分析类学习任务,大多与此规模相当,只是标注、训练。

最终的模型参数大小我没有看,待会儿可以输出看一下。

2.源码:

GitCode - 全球开发者的开源社区,开源代码托管平台

 

 

相关文章:

  • 生成验证码图片
  • shell编程之条件语句
  • 从原始新闻数据中筛选出 正文内容超过 1024 个词(token) 的新闻,并将其保存到新文件中。
  • Linux __命令和权限
  • 两个树莓派如何通过wifi direct传输视频并显示
  • 二分查找4:35. 搜索插入位置
  • AI 笔记 - 开源轻量级人脸检测项目
  • 内联函数通常定义在头文件中的原因详解
  • STL之无序关联式容器针对于自定义类型的操作
  • 使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录
  • 数字政府网络架构建设方案
  • 创新驱动:智慧养老综合实训室内的前沿技术应用
  • Asp.NET Core WebApi IOptions<T>详解
  • Linux关于git上传大文件的解决方案:使用Git LFS
  • 【遥感科普】多光谱和高光谱卫星影像有什么区别?
  • 介绍一下freertos
  • 数据结构与算法——双链表的详解以及增、插、删、查、印、毁的实现
  • 紧急任务插入,如何不影响原计划
  • Koji/OBS编译节点OS版本及工具版本管理深度实践指南
  • 链式多分支规则树模型的应用
  • 做网站编程时容易遇到的问题/seo搜索引擎推广什么意思
  • vs2015网站开发/大片网站推广
  • 吉安市网站建设/免费个人网站源码
  • 网站建设 6万/云搜索app
  • 怎么做传奇私服网站/网站建设是什么工作
  • 网站地址结构/微信推广多少钱一次