#define OPERATOR clamp(in,(FLOAT4)(1.00000e-12f),(FLOAT4)(inff))
PanJinquan opened this issue · comments
测试发现,转换Pytorch的normalize
函数存在问题: y=torch.nn.functional.normalize(x, p=1, dim=1)
转换ONNX,opset_version=9,可以正常转换,但在推理时出现异常:
#pragma OPENCL EXTENSION cl_khr_fp16 : enable ^ <kernel>:73:18: error: use of undeclared identifier 'inff' FLOAT4 out = OPERATOR; ^ <built-in>:28:59: note: expanded from here #define OPERATOR clamp(in,(FLOAT4)(1.00000e-12f),(FLOAT4)(inff))
从问题看,是未能识别字符inff
导致的异常,而正常情况下,无穷大应该表示为:inf
,而不是inff
于是尝试改动tnnproto文件,将normalize层inf改为in,推理则正常了
我怀疑,TNN源码是不多加了f导致出现inff
异常