This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Question about caffe model on REL.TIDLSRC.01.00.00.00

Hi,

I can't run a caffe model on REL.TIDLSRC.01.00.00.00.

It always stopped on the layer "conv1_0".

In this layer, I tried to fix the group from 8 to 4, then it can run on CCS.

Can you give me some advice about the "group" setting of the convolution layer on TIDL?

The link is this caffe model and prototxt file.

https://drive.google.com/drive/folders/1PkICJr6F4c_ismkN2Mbuk_pFS37yKtTk

Thanks and Regards,

Ahan Tseng 

Below is the prototxt file.

name: "mobilenet_deploy"
input: "data"
input_shape {
  dim: 1
  dim: 3
  dim: 128
  dim: 256
}
......
layer {
  name: "conv0_relu_0"
  type: "ReLU"
  bottom: "conv0_0"
  top: "conv0_0"
}
layer {
  name: "conv1_0"
  type: "Convolution"
  bottom: "conv0_0"
  top: "conv1_0"
  param {
    name: "conv1_w"
    lr_mult: 0.10000000149
    decay_mult: 0.10000000149
  }
  param {
    name: "conv1_b"
    lr_mult: 0.20000000298
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    pad: 1
    kernel_size: 3
    group: 8
    stride: 2
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
      value: 0.0
    }
  }
}
layer {
  name: "conv1_bn_0"
  type: "BatchNorm"
  bottom: "conv1_0"
  top: "conv1_0"
  param {
    name: "conv1_bn_0"
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    name: "conv1_bn_1"
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    name: "conv1_bn_2"
    lr_mult: 0.0
    decay_mult: 0.0
  }
}
layer {
  name: "conv1_sc_0"
  type: "Scale"
  bottom: "conv1_0"
  top: "conv1_0"
  param {
    name: "conv1_sc_0"
    lr_mult: 0.10000000149
    decay_mult: 0.0
  }
  param {
    name: "conv1_sc_1"
    lr_mult: 0.20000000298
    decay_mult: 0.0
  }
  scale_param {
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "conv1_relu_0"
  type: "ReLU"
  bottom: "conv1_0"
  top: "conv1_0"
}

  • Hi ,

    Can you please try modifying source file "tidl_conv2d_base.c",
    Add a line around line number 2750 and before this line
    blockParams->numOutChannels = ALIGN_SIZE(blockParams->numOutChannels, blockParams->numLoaclOutChannels);
    in tidl_conv2d_base.c file.

    Add this line:
    blockParams->numLoaclOutChannels = (blockParams->numOutChannels < blockParams->numLoaclOutChannels)? blockParams->numOutChannels:blockParams->numLoaclOutChannels;

    blockParams->numOutChannels = ALIGN_SIZE(blockParams->numOutChannels, blockParams->numLoaclOutChannels);


    Thanks,
    Praveen