# Handwritten-math-symbols-recognition
使用常用的CNN神经网络实现数据超过30万条的手写数学符号识别
## 数据集
所用的数据集是来自`kaggle`的`Handwritten math symbols dataset`,其中包括超过30w张图片,共有82个类别。解压后的数据放到extracted_images中作为数据
数据集下载地址:
[Handwritten math symbols dataset](https://www.kaggle.com/datasets/xainano/handwrittenmathsymbols/discussion)
## utils模块
utils中包括数据的加载,模型以及画图展示
### dataLoader
**idxPrepare**
传入数据所在的路径,获取标签与索引的对应关系并以字典的形式保存,并返回由(图片,类别)组成的列表
**image2txt**
传入由(图片,类别)组成的列表,将数据集划分成训练数据和测试数据。并将路径以及对应的标签存放到txt文件中
**MyLoader**
使用torchvsion加载图片
**MyDataLoader**
由于数据量稍微有些大,直接使用torch的数据加载有可能会导致OOM,所以构建了一个数据加载的类,这个类并不会将所有的数据一次性全部加载到内存,而是将存有数据路径和对应的类别先全部加载到内存中,当需要用到数据时,再将数据从磁盘中读到内存当中。
**LoadDataset**
为了方便加载数据,构建了一个数据加载器,传入数据的路径,数据的批量大小和图片的大小,返回训练数据和测试数据的迭代器以供模型的训练
### models
包含各种常见的CNN分类模型,包括LeNet、alexNet、vgg11、NiN、GoogLeNet、resNet18、denseNet模型的构建
**select_model**
用于选择模型,传入模型的名称以及模型的参数,返回选择的分类模型
### plotShow
传入由训练损失、训练精度、测试损失、测试精度组成的字典,然后绘制出图像
## train模块
用于训练模型
**accuracy**
传入预测结果和标签,用于评估预测精度
**train**
传入选择使用的模型,模型参数,训练数据、测试数据、训练轮次、学习率、训练设备、提前终止训练的阈值以及是否保存检查点,进行模型的训练,最终训练结果将会保存在`model_weights`文件夹中
## predict模块
根据不同的参数设置可以进行预测,可选的预测模式有单张图片预测,从文件夹中预测以及随机选取测试集中的数据进行预测
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
使用常用的CNN神经网络实现数据超过30万条的手写数学符号识别 数据集 所用的数据集是来自kaggle的Handwritten math symbols dataset,其中包括超过30w张图片,共有82个类别。解压后的数据放到extracted_images中作为数据 utils模块 utils中包括数据的加载,模型以及画图展示 dataLoader idxPrepare 传入数据所在的路径,获取标签与索引的对应关系并以字典的形式保存,并返回由(图片,类别)组成的列表 image2txt 传入由(图片,类别)组成的列表,将数据集划分成训练数据和测试数据。并将路径以及对应的标签存放到txt文件中 MyLoader 使用torchvsion加载图片 MyDataLoader 由于数据量稍微有些大,直接使用torch的数据加载有可能会导致OOM,所以构建了一个数据加载的类,这个类并不会将所有的数据一次性全部加载到内存,而是将存有数据路径和对应的类别先全部加载到内存中,当需要用到数据时,再将数据从磁盘中读到内存当中。
资源推荐
资源详情
资源评论
收起资源包目录
Handwritten-math-symbols-recognition-main.zip (15个子文件)
Handwritten-math-symbols-recognition-main
model_weights
README.md 30B
idx2class 1KB
predict.py 3KB
utils
__init__.py 0B
plotShow.py 669B
models.py 11KB
dataLoader.py 3KB
__pycache__
models.cpython-38.pyc 8KB
dataLoader.cpython-38.pyc 3KB
plotShow.cpython-38.pyc 741B
__init__.cpython-38.pyc 161B
class2dix 1KB
extracted_images
README.md 141B
train.py 4KB
README.md 2KB
共 15 条
- 1
资源评论
- 祝愿我有个美好的未来2024-02-03资源和描述一致,质量不错,解决了我的问题,感谢资源主。
云哲-吉吉2021
- 粉丝: 3968
- 资源: 1129
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Minecraft-flan 耐久插件
- 【java毕业设计】枣庄美食街网站源码(ssm+mysql+说明文档).zip
- jspm基于JSP的学生社团管理系统v5bo2.zip
- 【java毕业设计】学生信息管理系统源码(ssm+mysql+说明文档+LW).zip
- mysql8.0.40.0-windows安装包
- 【java毕业设计】新冠疫情下的校园出入系统源码(ssm+mysql+说明文档+LW).zip
- 【java毕业设计】校园二手交易系统源码(ssm+mysql+说明文档).zip
- mysql5.7.44.0-windows安装包
- 【java毕业设计】烯烃厂压力管道管理平台源码(ssm+mysql+说明文档+LW).zip
- 【java毕业设计】面向学生成绩分析系统源码(ssm+mysql+说明文档+LW).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功