遇到报错RuntimeError: invalid input, no dtype avaliable
points_src = se3.mge_transform(igt, points_src)
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
根据报错信息,问题似乎出现在dtype_promotion函数中。dtype_promotion函数用于计算两个张量的数据类型,以便在执行张量乘法之前将它们转换为相同的数据类型。在您的代码中,这个函数可能无法确定正确的数据类型,从而导致报错。
为了解决这个问题,您可以尝试明确指定输入张量的数据类型,以确保它们具有相同的数据类型。您可以尝试在调用matmul函数之前使用torch.tensor()将输入张量的数据类型转换为torch.float32类型,例如:
points_src = torch.tensor(points_src, dtype=torch.float32)
igt = torch.tensor(igt, dtype=torch.float32)
您也可以尝试检查igt和points_src的形状,以确保它们具有相同的维度。如果这些方法都不能解决问题,您可能需要检查代码中其他部分是否存在错误,并尝试使用其他方法来执行相同的计算。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
这个报错提示是因为在变换函数se3.mge_transform中没有指定数据类型。你可以尝试在调用函数前,将points_src的数据类型进行指定,例如:
points_src = points_src.astype(np.float32)
points_src = se3.mge_transform(igt, points_src)
这样应该就可以解决这个报错了。如果还有其他问题,可以提供更详细的错误信息,以便更好地解决问题。