模型转化优化-SoftMax软分类优化问题

用户您好,请详细描述您所遇到的问题。

1.硬件获取渠道:

2.当前系统镜像版本:x3j3_lnx_db_20220407

3.当前天工开物版本:ai_toolchain_centos_7_xj3: v2.2.3a

4.问题定位:模型转化优化-SoftMax软分类优化问题

5.开发的demo/案例:

6.需要提供的解决方案:

目前正在做立体匹配任务,需要对视差进行软分类。即"out = Sum(Softmax(x) * x)",如上图模型所示

但是根据op_list和模型编译结果发现,SoftMax被编译在CPU上,以及后面的若干操作需要Tensor在BPU和CPU之间多次交,我怀疑在交替调用CPU和BPU流水线使得整体网络偏慢;

目前在core为2的情况下测得整体网络约155ms,编译后报告显示约82ms,推得上图模型花费约78ms

尝试过将mul算子强制编译在CPU上以减少两个设备计算的交替,在core为2的情况下测得整体网络约145ms

想请问在模型搭建和编译的时候还有没有优化softmax做软分类的实现方法

您好,在CPU和BPU切换期间,会插入量化、反量化节点,确实会造成比较大的时间开销,XJ3上由于硬件原因,不太好进行优化,抱歉哈

那请问像这样【利用softmax做带权求和的软分类问题】在算法设计上有没有什么替代方案?

抱歉哈,这块优化在当下XJ3中确实不太好做,您的需求我们已收到,可以期待一下我们后面的板子~