UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
123 次查看
注册日期: ‎11-09-2019

关于DNNDK的SetInputImage API问题

为什么使用dpuSetInputImage2会报错

[DNNDK] Invalid mean value for DPU kernel. kernel name: DensNet121_0

如果使用dpuSetInputImage就不会错,可是分类结果一点也不对,三个均值是什么意思啊,我训练时都没做什么预处理,连归一化都没做(0~1)。可是用dpuSetInputImage2又报错,怎么回事啊?

//float mean[3]={103.94, 116.78, 123.68};

//float* mean_pt = mean;

//_T(dpuSetInputImage(taskConv, CONV_INPUT_NODE, img, mean_pt));//能运行,可是分类结果一点也不对,估计那三个均值影响了

_T(dpuSetInputImage2(taskConv, CONV_INPUT_NODE, img));//报错

0 项奖励
1 条回复1
Contributor
Contributor
61 次查看
注册日期: ‎03-14-2017

回复: 关于DNNDK的SetInputImage API问题

我曾经在DPU上部署过DenseNet系列网络,用的是https://github.com/shicai/DenseNet-Caffe提供的caffemodel。

这个网络不仅需要设置权重,还有一个scale,不知道你有没有注意过。捕获.PNG

因此在做decent的时候,不仅需要设置mean,还要设置scale

 

  transform_param {
    mirror: false
    scale: 0.017
    mean_value: 104
    mean_value: 117
    mean_value: 123
  }

 

在部署的时候我用的是dpuSetInputImageWithScale()

 

 

float mean[3] = {103.94,116.78, 123.68};
dpuSetInputImageWithScale(task, INPUT_NODE, image, mean, 0.017);

这样是能够得到正确的结果的,在imagenet上的准确率大概69%左右。

0 项奖励