Skip to content

CreateIdentityMcePart marks depthwise convolutions as channel selectors #23

@dariustanrd

Description

@dariustanrd

Hello @AndrzejKurek,

In CreateIdentityMcePart, the part is set as a DEPTHWISE_CONVOLUTION

params.m_Op = command_stream::MceOperation::DEPTHWISE_CONVOLUTION;

but at the same time the part is not explicitly setting the m_IsChannelSelector as false, but instead conditioned based on QuantInfo.

params.m_IsChannelSelector = (inputQuantInfo == outputQuantInfo);

This leads to the case of m_IsChannelSelector for the part to be True when inputQuantInfo == outputQuantInfo.

This is contraditory to other ops in NetworkToGraphOfPartsConverter that are set as a DEPTHWISE_CONVOLUTION, as they explicitly set m_IsChannelSelector = False or inherit from ConstructionParams. Is this intended?

This discrepancy leads to an assertion error for my usecase at the following:

assert(channelSelectorWeights.GetShape()[3] == oldInputDepth);

This assertion error was raised when the channel selector before is a DEPTHWISE_CONVOLUTION part with weights in HWIM form, but is set as m_IsChannelSelector=True because of the above, and hence the dimensions do not match.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions