Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer BTTR模型复现

Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer

BTTR论文地址:https://arxiv.org/abs/2105.02412
代码地址:https://github.com/Green-Wood/BTTR
该论文是使用的数据集CROME数据集,论文发表在2021ICDAR期刊上,文档分析与识别国际会议(International Conference on Document Analysis and Recognition,ICDAR)
BTTR模型结构
在这里插入图片描述
BTTR模型实验结果
在这里插入图片描述
BTTR模型复现过程
这个是代码下载到pycharm的样子
然后就需要进行相应环境配置,下载安装anaconda那一套就看看其他博客。
然后就是按照readme文件进行配置环境。
环境配置readme步骤
首先创建一个conda的虚拟环境,名字为bttr python版本为3.7
然后在anaconda prompt中进入 bttr环境
然后下载pytorch 对于这个下载 我自己试出来的方法是下载这个,
对于pytorch的下载,一定要注意自己的cuda版本。
在这里插入图片描述
以及即时检测torch.cuda.is_available()的结果是否为true
也就是这个环境中显卡是否可以正常使用
然后下一步就是pip install -e.
对于这步需要在anaconda promte中进入含有requirement.txt文件中进行该操作
在这里插入图片描述
对于图上的base,自己懒的改了,进行这步操作需要在之前创建的bttr环境中
然后环境算是配好了,但是还是存在一些问题,会报一些错,如下

这个错问题在与torchmetrics版本有问题需要重新下载为0.5
进入bttr环境 pip install torchmetrics==0.5
在这里插入图片描述
对于这个报错,自己在csdn上找到的解决方案
在这里插入图片描述
然后就是对于yaml文件的设置,作者是多卡训练,平时使用一台电脑单卡学者
也就是把gpus:4进行注释掉然后加上gups:1
在这里插入图片描述

然后需要把accelerator: ddp进行注释掉,不然会报错NCCL
在这里插入图片描述
然后对于numworks这个看自己电脑报不报错,报的话就是设置为0,还是在这个config.yaml文件中设置,我自己主机和笔记本都是只能设置为0才可以跑,室友电脑可以不设置为0,这个看具体情况。
还有batch_size这个设置,我1650 4G只能跑batch_size=1,这个根据实际情况进行设置。
在这里插入图片描述
然后进入pycharm运行该段,也可以在pycharm中的Terminal中进入BTTR模型文件夹下,输入python train.py --config config.yaml ,然后会自己开始训练。
在这里插入图片描述

对于训练过程,自己使用1650显卡非常慢,使用了室友的3060也非常慢,因为这个需要训练300个epoch,所以自己在云GPU平台进行训练,使用了3080-10G,然后跑了200多个epoch,得到一个还算满意的模型权重。
在这里插入图片描述在这里插入图片描述
然后这是一个代码自带的一个预测检验,总体来说还是一个不错的效果,比之前的WAP模型好多了,对于这个比较复杂的公式也可以很好的预测。
在这里插入图片描述
对于BTTR模型的优点,本文提出了一种双向训练的Transformer模型,与之前的一些方法相比较,有以下三个优点:(1)通过图像位置编码,模型可以获取图片的位置信息,引导自身合理分配注意力,缓解覆盖不足问题。(2)利用Transformer模型的置换不变特性,训练出具有双向语言建模能力的解码器,并且双向训练策略使BTTR模型能够在L2R和R2L两个方向进行预测。(3)采用Transformer解码器代替基于rnn的解码器,提高训练过程的并行化程度。该模型在HMER迈出了使用Transformer的一步,引领了HMER方向的整体发展。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: HMER transformer是在HMERHandwritten Math Equation Recognition)任务中应用transformer解码器的一种方法。它使用transformer结构,并通过使用位置编码来缓解中覆盖问题的不足。此外,它还引入了一种新的双向训练策略,使单个transformer解码器能够同时执行从左到右(L2R)和从右到左(R2L)解码。基于RNN的模型相比,HMER transformer在训练并行化和推断方面都表现更优。在HMER transformer中,使用了密集连接的卷积网络作为编码器,从输入图像中提取特征。这些特征被视为内容信息,并通过注意力聚合模块进行聚合。通过这种方式,HMER transformer能够有效地识别手写的数学方程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [《Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer》论文翻译](https://blog.csdn.net/wxplol/article/details/125363767)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [手写公式识别算法ABM论文翻译](https://blog.csdn.net/liudatutu/article/details/127315092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值