mjq11302010044 / TATT

A Text Attention Network for Spatial Deformation Robust Scene Text Image Super-resolution (CVPR2022)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to get the output images to visualize results during training eval and inference

MuDong612 opened this issue · comments

commented

I have noticed that when i training the data. there is an output print called "save display images",but i can't find where the display images are, please help me, thank you very much!

解决了吗?求教

我注意到当我训练数据时。有一个名为“保存显示图像”的输出打印,但我找不到显示图像在哪里,请帮助我,非常感谢!

请问你训练了多少epoch,得到的准确率和原论文一样吗?

commented

I have noticed that when i training the data. there is an output print called "save display images",but i can't find where the display images are, please help me, thank you very much!

set vis = True in super_resolution.py

求教一下,train_TATT.sh中两行命令都训练完的才是最后结果吗?我看作者论文里说的学习率是0.001,这是第一行命令的参数,那么第二行命令是干什么用的?谢谢

我训练第二行的时候,好像是先从ckpt/TATT目录下先导入第一行命令训练的输出,否则会报错,然后第一行我训练出的数据跟作者差距蛮大的,但是经过第二行命令训练以后,跟作者的数据就比较接近了,第二行命令训练的输出在ckpt/TATT_ft目录下,ft是微调的意思吗?是微调某个模块?你的是什么情况?

应该是先用大学习率小batch_size学习,再用小学习率大batch_size优化吧。就是训练策略,调整batch和lr得到最好的结果

有道理,感谢解惑,对了,这个代码作者好像没有日志文件吧,Tensorboard记录的都是损失函数之类的,他们的每个epoch的准确率存哪里去了?

有道理,感谢解惑,对了,这个代码作者好像没有日志文件吧,Tensorboard记录的都是损失函数之类的,他们的每个epoch的准确率存哪里去了?

你可以把训练过程保存为log文件啊,参考TBSRN的make_logger方法。TATT太复杂了,我没有跑

image
作者说字符概率的文本先验信息由TPG模块生成,我加个print语句来测试发现我跑的好像没有文本先验,大家都这样吗?我是不是漏掉了什么训练步骤?
def forward(self, x, text_emb=None, text_emb_gt=None, feature_arcs=None, rand_offs=None):
if self.stn and self.training:
_, ctrl_points_x = self.stn_head(x)
x, _ = self.tps(x, ctrl_points_x)
block = {'1': self.block1(x)}
if text_emb is None:
text_emb = torch.zeros(1, 37, 1, 26).to(x.device) #37
print("警告:未提供文本先验信息")

image 作者说字符概率的文本先验信息由TPG模块生成,我加个print语句来测试发现我跑的好像没有文本先验,大家都这样吗?我是不是漏掉了什么训练步骤? def forward(self, x, text_emb=None, text_emb_gt=None, feature_arcs=None, rand_offs=None): if self.stn and self.training: _, ctrl_points_x = self.stn_head(x) x, _ = self.tps(x, ctrl_points_x) block = {'1': self.block1(x)} if text_emb is None: text_emb = torch.zeros(1, 37, 1, 26).to(x.device) #37 print("警告:未提供文本先验信息")
你这句还在generator_init计算模型复杂度呢,你要跑到后面的代码再看啊。多debug吧,跑到super_resolution这句就有了 ```
else:
cascade_images, ret_mid = model_list[pick](images_lr if not self.args.for_cascading else cascade_images, label_vecs_final.detach())

好,非常感谢

我训练第二行的时候,好像是先从ckpt/TATT目录下先导入第一行命令训练的输出,否则会报错,然后第一行我训练出的数据跟作者差距蛮大的,但是经过第二行命令训练以后,跟作者的数据就比较接近了,第二行命令训练的输出在ckpt/TATT_ft目录下,ft是微调的意思吗?是微调某个模块?你的是什么情况?

请问你最后复现成功了吗

我训练第二行的时候,好像是先从ckpt/TATT目录下先导入第一行命令训练的输出,否则会报错,然后第一行我训练出的数据跟作者差距蛮大的,但是经过第二行命令训练以后,跟作者的数据就比较接近了,第二行命令训练的输出在ckpt/TATT_ft目录下,ft是微调的意思吗?是微调某个模块?你的是什么情况?

请问你最后复现成功了吗

成功了

我训练第二行的时候,好像是先从ckpt/TATT目录下先导入第一行命令训练的输出,否则会报错,然后第一行我训练出的数据跟作者差距蛮大的,但是经过第二行命令训练以后,跟作者的数据就比较接近了,第二行命令训练的输出在ckpt/TATT_ft目录下,ft是微调的意思吗?是微调某个模块?你的是什么情况?

请问你最后复现成功了吗

成功了
方便提供checkpoint吗,CRNN的精度我有达到但是复现ASTER精度差3个点,另外请问你有复现作者第一篇TPGSR吗

可以,这里发不了,我邮箱发给你吧,你邮箱多少?TPGSR我没有复现。

作者在TPGSR 章节3.4里说在SR和HR图像之间执行的是L1损失“Denote by ˆ IH the estimate HR image from the LR input and by IH the groundtruth HR image, the loss for the SR branch, denoted by LS, can be commonly defined as the L1 norm distance between ˆ IH and IH, i.e., LS = | ˆ IH − IH |.”,但是在TATT里Table 5中却显示应用的是L2损失,我看这部分发布的代码两个模型的SR branch使用的好像确实是L1,到底是L1还是L2?

可以,这里发不了,我邮箱发给你吧,你邮箱多少?TPGSR我没有复现。

谢谢,非常感谢,2382017223@qq.com

作者在TPGSR 章节3.4里说在SR和HR图像之间执行的是L1损失“Denote by ˆ IH the estimate HR image from the LR input and by IH the groundtruth HR image, the loss for the SR branch, denoted by LS, can be commonly defined as the L1 norm distance between ˆ IH and IH, i.e., LS = | ˆ IH − IH |.”,但是在TATT里Table 5中却显示应用的是L2损失,我看这部分发布的代码两个模型的SR branch使用的好像确实是L1,到底是L1还是L2?

损失我没注意到底用的哪个,没太关注,就是我直接复现TPGSR-TSRN训练500轮结果差距挺大的

可以,这里发不了,我邮箱发给你吧,你邮箱多少?TPGSR我没有复现。

你得到的SR图片背景正常吗,我之前得到的SR图片它的背景颜色比HR图片的背景颜色要淡