其他异常问题

网络应该如何设计,能在SigmaStar的硬件上高效执行?

需要说明的是,SGS_IPU_SDK转换后的模型默认数据排布为NHWC。 卷积方面:卷积的输入shape的C越大,HW越小,卷积的效率越高。硬件能直接支持kernel size为3x3的Depthwise卷积,其他size的kernel将转换为非Depthwise卷积计算。 其他层:其他层的C维度最好是16的整数倍,都能够加速运算,特别是Gather、Unpack、Pack、Concat、Reshape、Slice、Tile、Tanspose、Pad、Split等算子加速十分明显。

网络输入的图片数据排布是怎样的?

需要说明的是,SGS_IPU_SDK转换后的模型默认数据排布为NHWC。因此如果是RGB通道顺序的图片输入模型,图片数据排布是……RGBRGB……。如果是BGR通道顺序的图片输入模型,图片数据排布是……BGRBGR……。

NMS最大支持多少个box输入?

TFLite_Detection_NMS算子最大支持24576个bbox输入。由于NMS算法的特殊性,目前硬件最大限制为24576个输入才可以做。

非图片输入的网络可以运行吗?

可以运行,数据输入的要求和图片输入略有不同,详情请参考9.2节。

如何查看模型在板端的运行效率

查看网络内部详细耗时,可以先修改程序,在MI_IPU_DestroyCHN和MI_IPU_DestroyDevice前使用while(1);

停住程序。运行起来以后,使用telnet新开一个终端,使用如下命令,

echo time_statistic > /proc/mi_modules/mi_ipu/mi_ipu0

即可查看到网络内部详细耗时:(输出结果在串口)

使用如下命令查看IPU频率:

cat /sys/dla/clk_rate 相比上一代有哪些改进?

  • 增加Fix2float功能,能将网络输出转换成float,并去除无用数据
  • Softmax、Gather、Unpack、Pack、Concat、Reshape、Slice、Tile、Tanspose、Pad、Split算子加速运行
  • Resize_bilinear算子放大倍数不再限定
  • 硬件DMA速度加快