切换版块
×
基础软件平台
PyTorch开发
TensorFlow开发
编解码及SDK开发
BANG语言与计算库
开发工具链
MagicMind开发
软件栈百科
云平台集成
硬件产品专区
MLU370系列AI加速卡
MLU270系列AI加速卡
MLU220系列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
关闭