MrXiaoXiao / ESPRH

Automatic earthquake catalog building workflow: EQTransformer + Siamese EQTransformer + PickNet + REAL + HypoInverse
MIT License
18 stars 4 forks source link

跑服务器遇到的问题 #11

Closed Gaoya423 closed 11 months ago

Gaoya423 commented 1 year ago

老师,我最近把程序从虚拟机放到服务器上跑了一天的小例子。有三个问题,想请教您一下。 1.eqt在服务器上使用GPU会快很多,但是seqt相较于虚拟机,无论是用GPU跑还是cpu跑都慢2-3倍的时间,而且用cpu还快点,有改善的办法吗?(在picknet上也是cpu比gpu快3倍左右) image

2.在服务器上相同参数,数据。重复两遍拾取,拾取结果稍有差别,和虚拟机拾取也不一样。这种影响大吗? 3.我跑的数据REAL得到的震相画P波走时和震中距的图像呈现两条线,是前面拾取的问题吗?(如下图) image

Gaoya423 commented 1 year ago

image 还有个问题,就是picknet参数这里,我只能给ture,如果给默认值false的话会报错,好像是无get_session?但是我看了老师您发的readme里没提到这块

MrXiaoXiao commented 1 year ago

关于速度的问题,很抱歉S-EQT这个工作当时主要关注的是这个思路的可行性,并没有对运行速度做优化。里面最主要的问题是searching template的长度是不固定的,导致batchsize只能是1(这个技术上可以解决,但是当时没有弄...)。这个会导致GPU的算力没法充分利用起来。

关于震相的问题,可能有几点原因(1)REAL参数设置的不太合适 (2)可以试一下缩小搜索的空间和时间范围(3)检查一下波形,确认下是不是有的S波被识别成了P

关于PickNet慢的问题,可能是batchsize小,所以没有发挥出GPU的算力。 这个流程是早期比较探索性的工作,很抱歉里面有些不完善的地方,关于地震检测和震相拾取也推荐尝试一下我们比较新的demo,在速度和精度上都有提升:

https://github.com/MrXiaoXiao/DiTingTools/tree/main/trained_models/DiTingPicker_2022_LuDing

最近几个月比较懒了,今年应该会开源一个更好用和高效的流程。

Gaoya423 commented 1 year ago

参照老师您给的建议,我看了下波形,的确存在S被识别成P的情况,这种的话是由于REAL参数设置不合适导致的吗?老师您提到的第二点,缩小搜索空间和时间范围所指的是PICK的参数还是REAL的参数?(研究区特点是地广台稀) 目前的研究可能会主要以老师您的ESPRH 的流程为主。之后如果有其他地震检测方面的研究会尝试下DiTing模型的。

MrXiaoXiao commented 1 year ago

我说的是Pick的参数,S-EqT的搜索范围(空间上和时间上)。还有就是让REAL关联参数更严格一些。也可以考虑下其他关联方法,例如GaMMA之类的。

Gaoya423 commented 1 year ago

好的,我试试看,谢谢老师!!

Gaoya423 commented 1 year ago

image image 老师,第一张图分别是我配置好环境按着例子跑的eqt的数据和模型中eqt数据,两个拾取数量,拾取秒数和拾取概率都不一样,按着例子跑的数量比模型的多。 但是第二张图是配置好环境按着例子跑的seqt的数据和模型中seqt数据,两个拾取数量,拾取秒数和拾取概率都不一样,但是seqt按着例子自己跑的就比模型压缩包默认的拾取情况不一样,变少了。 最后画图的结果也不一样,没有改配置参数。

Gaoya423 commented 1 year ago

老师,请问下出现这种现象是什么原因导致的呢?

MrXiaoXiao commented 1 year ago

有几个可能的点: (1)EqT本来推理过程中就保留了dropout,所以每次运行结果并不是一致的。你确认下对比中的重复预测次数是不是一致的,还有就是P和S和Eq的检测阈值是不是一致的。你试一下把重复预测次数增加一下,应该结果会变的更稳定。 (2)EqT代码应该是后面有更新,特别是后处理部分的,有可能有优化了,也会导致结果不同。 (3)有微小的可能性是EqT模型有新的更新。

Gaoya423 commented 1 year ago

image 1)老师,请问下重复预测次数是在哪里调整的? 2)我查看了下,对比中的参数是一样的。 3)我又单跑了一次eqt,结果与我上次跑得也不一样。符合您所说的,每次运行结果不一样。 4)目前存在的问题是,最后得到的结果在分布状况和地震数量都不一样。您模型里给的图像情况是从eqt-seqt-picknet是数量是逐渐增加的。我这边跑的例子的情况是,eqt的hypoinverse结果比您给的例子中的地震数量要多,picknet的hypoinverse数量减少。(对比如下图所示,左图是例子我这边运行情况,右图是您给的模型) image

Gaoya423 commented 1 year ago

image

MrXiaoXiao commented 1 year ago

(1)重复预测次数在number_of_sampling (2)存在一定可能是tensorflow版本的问题,导致模型运算的输出不太一致 (3)另外请确认下台站数目是否一致,是否存在数据下载不全相关的问题

MrXiaoXiao commented 1 year ago

如果你问题比较多的话,也可以周三或者周四约个腾讯会议讨论下,这样沟通可能更有效一些。可以把会议链接发我邮箱。xiaozhuowei@mail.iggcas.ac.cn

Gaoya423 commented 1 year ago

好的,老师,我已经把会议链接发您邮箱了,望查收。