Open lizhiqi-coder opened 2 months ago
什么是dml?
微软官方推出的onnxruntime Provider,https://onnxruntime.ai/docs/execution-providers/DirectML-ExecutionProvider.html,兼容性比较好,Nvidia\AMD显卡都能跑
微软官方推出的onnxruntime Provider,https://onnxruntime.ai/docs/execution-providers/DirectML-ExecutionProvider.html,兼容性比较好,Nvidia\AMD显卡都能跑
我不用windows,不了解这个。你如果是n卡用户,直接去onnxruntime github 下载release包使用onnxruntime-win-x64-gpu-1.19.2.zip。有其他的windows用户报告是正常推理的。
微软官方推出的onnxruntime Provider,https://onnxruntime.ai/docs/execution-providers/DirectML-ExecutionProvider.html,兼容性比较好,Nvidia\AMD显卡都能跑
这里字符分配长度写错了,已经修正。你可以测试看看是不是这个问题导致的。
不是这个问题导致的,可能是 SAM2Export导出的模型不兼容
能支持下memory_attention.opt.onnx模型吗,这个DML可以正常加载
能支持下memory_attention.opt.onnx模型吗,这个DML可以正常加载
我不使用DML,无法尝试支持,你需要可以去修改SAM2Export中的class MemAttention(nn.Module)。我看了一下原作者的源代码,发现他将sam2/modeling/memory_attention.py 中的class MemoryAttention(nn.Module) 的模型输入修改了,原先是"curr", "memory", "curr_pos", "memory_pos", "num_obj_ptr_tokens",修改后是"curr", "memory_1", "memory_2", "curr_pos", "memory_pos_1", "memory_pos_2"。我不清楚原作者为什么将memory拆分为memory_1和memory_2,以及memory_pos为什么拆分为memory_pos_1和memory_pos_2。假设修改成功,但这又可能导致memory_attention的输入在c++侧需要大改,重新将他们的关系相映射会很麻烦,我没有更多精力去修改了(至少我这里运行没有任何问题)。如果你尝试修改,我的建议是: 1、搞清楚如何在c++侧构建出memory_1,memory_2,memory_pos_1和memory_pos_2。 2、不使用我项目的onnx,改用原作者导出的onnx,重写一个SAM2 c++推理(工作量应该会很大大) 3、不使用DML。
大佬,能不能帮忙支持下memory_attention.onnx DML,真心求助,有偿感谢!
大佬,能不能帮忙支持下memory_attention.onnx DML,真心求助,有偿感谢!
最近很没没空了
memory_attention.onnx 使用DML加载失败,CPU加载正常 其他3个模型都正常加载 这个问题咋解决?