切换版块
×
基础软件平台
PyTorch开发
TensorFlow开发
编解码及SDK开发
BANG语言与计算库
开发工具链
MagicMind开发
软件栈百科
云平台集成
硬件产品专区
大模型专区
寒武纪® AIDC® MLU370®系列加速卡
MLU200系列AI加速产品
经验方案交流区
经验案例与实践分享
开发者服务
开发者活动
公告与版务
高校支持
《智能计算系统》
签到
版块
社区
文档
SDK下载
370系列
200系列
开发平台
官网首页
注册
登录
全部版块
基础软件平台
硬件产品专区
经验方案交流区
开发者服务
高校支持
发布新帖
登录/注册
LV.1
zjunk
109
积分
0
赞
9
帖子
53
回复
0
收藏
TA的动态
TA的帖子
TA的回复
如何分析pytorch框架向下数据传递过程
我的回复:#2AlexLee回复您好,这里其实应该是2个问题,我依次给您解释一下问题1:cnml internal的.cpp将数据输出到.txt文件后,结果不正确的原因?说明:在python代码里,已经将cpu上的数据进行了.to("mlu")的操作,因此调用这个算子时候,在.cpp文件里,相应的source已经是mlu上的tensor了,是不能直接操作的,因此直接写入文件这种操作是不对的,您可以修改代码如下:outfile
0
BANG C nms后处理算子嵌入
我的回复:#12Mingo回复你好,如proposal_fpn_internal.cpp算子就是一个3输出的算子,多输出的话可以参考。如果要整合3个输出tensor到一个tensor的话不太方便,首先你这3个输出的类型都不同,如果是相同的数据类型,可以根据相应的偏移把三个输出放到一个half *tensor中,重新实现bangc代码,但是不建议这么做。展开老师你好 实在不好意思再次叨扰,我想请教以下以下内容:在internal层中 无论是输出输出都会利用类指针MLUTensorImpl的getMluTensorImpl进行实现再用该类的CreateCnmlTensor进行创建cnmltensor。那么如果我.mlu中返回的大小half(8400*2)大小的指针,在internal层中以下代码定义接收mlu中的output是否正确。 auto output_options = at::TensorOptions(c10::ScalarType::Half).device(at::DeviceType::MLU); auto output2 = at::empty({1, 16800}, output_options); auto* output2_impl = getMluTensorImpl(output2); auto output2_cnml = output2_impl->CreateCnmlTensor( CNML_TENSOR,CNML_DATA_FLOAT16);麻烦老师勒
0
自定义算子torch.ops.torch_mlu.mlunmsthresh测试报错
我的回复:#6fcam回复是否有coredump文件生成,如果有,可以尝试使用cngdb进行分析。老师你好 根据CNML用户手册第七章算子定位工具,我们服务没有找到parse_core_dump 相关工具,只有一个在/usr/local/neuware/tools目录下的core_dump_tools.py。如果存在会在哪个位置
0
自定义算子torch.ops.torch_mlu.mlunmsthresh测试报错
我的回复:#1fcam回复应该是算子实现有问题,这个自定义算子 mlunmsthresh 有自己写测例做过单算子测试吗?展开有测试文件 也没问题nms算子.zip结果如下:
0
自定义算子测试
我的回复:#5zjunk回复老师 ,现在我们发现之前catch编译出来在torch/src/catch/torch_mlu/csrc/lib生成的4个动态库分别是libaten_mlu.so libcatch_python.so libdistributed_mlu.so libjit_mlu.so。由于原始pytorch环境下动态库未更新,我们将/torch/venv3/pytorch/lib/python3.6/site-packages/torch_mlu/csrc/lib下的.so替换成为torch/src/catch/torch_mlu/csrc/lib重新编译后的,我们尝试导入import torch import torch_mlu会出现以下错误:[图片]在更新了/torch/venv3/pytorch/lib/python3.6/site-packages/torch_mlu/csrc/lib的动态库以后他却报错找不到ComputepluginPpyoloenmsOpForward(该函数为自定义算子函数)。现在不知道到底哪儿出了问题希望老师们帮忙看看展开已解决
0
BANG C nms后处理算子嵌入
我的回复:#12Mingo回复你好,如proposal_fpn_internal.cpp算子就是一个3输出的算子,多输出的话可以参考。如果要整合3个输出tensor到一个tensor的话不太方便,首先你这3个输出的类型都不同,如果是相同的数据类型,可以根据相应的偏移把三个输出放到一个half *tensor中,重新实现bangc代码,但是不建议这么做。展开老师现在尝试在internal中返回2个tensor输出(但是mlu中是3个),CHECK_RETURN_TO_FUSE(op, std::make_tuple(output1, output2));这是2个在foward中是3个如下 TORCH_CNML_CHECK(cnmlComputePluginPpyoloenmsOpForward(op, input_addrs, 1, output_addrs, 3, &func_param, queue));但是现在报错信息如下:表示syncQueue同步队列出错。现在不晓得有什么原因会导致这个错误。定位不到问题的发生。希望老师指导一下
0
自定义nms后处理算子嵌入遇到的问题
我的回复:已解决
0
自定义算子测试
我的回复:#1fcam回复算子没有添加成功,请检查代码。是否“在 catch/torch_mlu/tools/mlu_functions.yaml 中声明”。 请按照 Cambricon-PyTorch-User-Guide-CN 文档中, 第7张 自定义框架操作 进行添加,另外可以参考已有的自定义算子比如--Yolov5_Detection_Output 展开老师 ,现在我们发现之前catch编译出来在torch/src/catch/torch_mlu/csrc/lib生成的4个动态库分别是libaten_mlu.so libcatch_python.so libdistributed_mlu.so libjit_mlu.so。由于原始pytorch环境下动态库未更新,我们将/torch/venv3/pytorch/lib/python3.6/site-packages/torch_mlu/csrc/lib下的.so替换成为torch/src/catch/torch_mlu/csrc/lib重新编译后的,我们尝试导入import torch import torch_mlu会出现以下错误:在更新了/torch/venv3/pytorch/lib/python3.6/site-packages/torch_mlu/csrc/lib的动态库以后他却报错找不到ComputepluginPpyoloenmsOpForward(该函数为自定义算子函数)。现在不知道到底哪儿出了问题希望老师们帮忙看看
0
自定义算子测试
我的回复:#3fcam回复你完整的添加流程是怎样的?“1.在torch_mlu/tools/mlu_functions.yaml注册这个文件包含了代码生成需要的所有信息,一共需要name,use_mlu_dispatcher,derived_type,schema_string,arguments,return_type六个标记2.在torch_mlu/csrc/aten/operators/op_methods.cpp增加CPU的函数体这个文件目前不能自动生成,仍旧需要手动添加3.在torch_mlu/csrc/aten/operators/cnml/或者torch_mlu/csrc/aten/operators/cnnl/下添加实现cnml_kernel.h以及cnnl_kernel.h已经自动生成了,根据这两个头文件中的声明写xxx.cpp,再在internal文件夹下添加xxx_internal.cpp以及cnml_internal.h(或者cnnl_internal.h),以上3个步骤即可完成算子的注册”展开老师这是我的以下步骤:第一步在torch_mlu/tools/mlu_functions.yaml中声明mlunmsthresh第二步在torch_mlu/csrc/aten/operators/中op_methods.h与op_methods.cpp进行算子声明与CPU实现如下所示:2.1op_methods.h声明: virtual at::Tensor mlunmsthresh(const at::Tensor & source, int64_t num_classes, int64_t num_anchors);如下所示2.2op_methods.cpp实现:第三步在torch_mlu/csrc/aten/operators/cnml中cnml_kernel.h声明与实现。在子目录internal下的声明与实现3.1在cnml_kernel.h声明at::Tensor cnml_mlunmsthresh(const at::Tensor & source, int64_t num_classes, int64_t num_anchors);如下所示:3.2在torch_mlu/csrc/aten/operators/cnml/mlunmsthresh.cpp进行实现cnml_mlunmsthresh如下所示:3.3在torch_mlu/csrc/aten/operators/cnml/internal/cnml_internal.h声明at::Tensor cnml_mlunmsthresh(const at::Tensor & source, int64_t num_classes, int64_t num_anchors); 如下所示:3.4torch_mlu/csrc/aten/operators/cnml/inernal/mlunmsthresh_internal.cpp实现at::Tensor cnml_mlunmsthresh_internal(const at::Tensor & source,int64_t num_classes, int64_t num_anchors)如下所示:第四步完成编写返回/catch目录下执行 python setup.py install 重新编译catch以上就是我的所有完整的添加流程步骤。老师 但是在调用detect_out = torch.ops.torch_mlu.mlunmsthresh(score,80,8400)测试还是出现出现(找不到该算子操作)1
0
自定义算子测试
我的回复:老师 我在catch/torch_mlu/tools/mlu_functions.yaml 中声明过了。如下所示:
0
上一页
1
2
3
下一页
Github
开发平台
文档中心
新手必读
官方微信
版权所有 © 2025 寒武纪 Cambricon.com 备案/许可证号:
京ICP备17003415号-1
关闭