Human9000 / nd-Mamba2-torch

Only implemented through torch: "bi - mamba2" , "vision- mamba2 -torch". support 1d/2d/3d/nd and support export by jit.script/onnx;
189 stars 6 forks source link

无法使用 #5

Open hnuwm opened 3 months ago

hnuwm commented 3 months ago

我将这个模块放进模型(使用BiMamba2_1D),报错:RuntimeError: cumsum_cuda_kernel does not have a deterministic implementation, but you set 'torch.use_deterministic_algorithms(True)'. You can turn off determinism just for this operation, or you can use the 'warn_only=True' option, if that's acceptable for your application. You can also file an issue at https://github.com/pytorch/pytorch/issues to help us prioritize adding deterministic support for this operation. 当我使用torch.use_deterministic_algorithms(False)后,模型的输出全部为nan。

Human9000 commented 3 months ago

感谢你的反馈,基于你的描述,我无法判断如何去解决它,接下来我将尽力的去复现你的错误情况。如果方便的话,请你提供更为详细的错误场景(如模块插入的方法和训练参数设置等信息)。

Human9000 commented 3 months ago

经过测试,该模型确实在某些未知情况下会出现nan的情况。 出现的原因如下: 1、模型参数初始化的数据在一次反向传播后直接异常 2、在个别数据进行反向传播时,出现nan的情况 可以采用的方法如下: 1、使用该模块时添加残差连接 2、采用多种模型参数初始化策略 3、调整的学习率以适配模型 4、在训练阶段,检测nan出现,出现nan的时候禁止反向传播

我在官方mamba项目中也发现了大量的nan问题的反馈,你也可以参考官方的反馈的解决方案,下面是官方的链接: https://github.com/state-spaces/mamba/issues?q=nan