Xianqi Wang
Xianqi Wang
你好,你的问题可能有三种原因: 1. 在不同设备上,seed即便相同初始化可能也会不同,可以尝试改一下seed; 2. 半精度混合训练虽然提高了训练速度,但只有16bit,当数据过大时,容易发生溢出,出现nan,可以尝试关闭;(在train._stereo.py第206行,把mixed_precision的default参数删除,不要把default设置为False,参数判断的是有无字符串) 3. 初始视差用的smooth_l1_loss监督,其余视差用的l1_loss监督,不同loss可能影响训练的稳定性,可以尝试都换成l1_loss。 另外,我建议可以直接加载sceneflow的预训练模型,然后在自己的数据集上训练,避免重新训练造成的不稳定。
1. Delete these assert lines may make warnings disappear. 2. I'm not familiar with onnx and I'm sorry that I can't help you.
说一下你用的ckpt和你运行save_disp.py时的参数 目前我认为可能是tensor不连续造成的,你可以在报错函数前用contiguous()把输入tensor变成连续的 其次可考虑是不是你用了bfloat16,cuDNN可能对这个支持不够好 最后再考虑cuDNN的版本问题
我不确定模型能不能用无标签数据微调,如果你要的话,可以用photometric loss做自监督学习,loss设置可以看看相关自监督立体匹配的论文。
I think if you want to use this block, you should use the same block during training. There may by indexing problems due to different indexing codes.
You can describe which checkpoint you want to use to fine-tune the model and how to compose a mixed dataset. When I have time, I can help fine-tune it.