class InferenceEngine::GemmLayer

Overview

This class represents a general matrix multiplication operation layer. More…

#include <ie_layers.h>

class GemmLayer: public InferenceEngine::CNNLayer
{
public:
    // fields

    float alpha = 1.f;
    float beta = 1.f;
    bool transpose_a = false;
    bool transpose_b = false;

    // methods

    CNNLayer(const LayerParams& prms);
    CNNLayer(const CNNLayer& other);
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<CNNLayer> Ptr;

    // fields

    std::string name;
    std::string type;
    Precision precision;
    std::vector<DataPtr> outData;
    std::vector<DataWeakPtr> insData;
    Ptr _fusedWith;
    UserValue userValue;
    std::string affinity;
    std::map<std::string, std::string> params;
    std::map<std::string, Blob::Ptr> blobs;

    // methods

    std::shared_ptr<ngraph::Node> getNode();
    void fuse(Ptr& layer);
    virtual const DataPtr input() const;
    void parseParams();
    float GetParamAsFloat(const char \* param, float def) const;
    float GetParamAsFloat(const char \* param) const;
    std::vector<float> GetParamAsFloats(const char \* param, std::vector<float> def) const;
    std::vector<float> GetParamAsFloats(const char \* param) const;
    int GetParamAsInt(const char \* param, int def) const;
    int GetParamAsInt(const char \* param) const;
    std::vector<int> GetParamAsInts(const char \* param, std::vector<int> def) const;
    std::vector<int> GetParamAsInts(const char \* param) const;
    unsigned int GetParamAsUInt(const char \* param, unsigned int def) const;
    unsigned int GetParamAsUInt(const char \* param) const;
    size_t GetParamAsSizeT(const char \* param, size_t def) const;
    size_t GetParamAsSizeT(const char \* param) const;

    std::vector<unsigned int> GetParamAsUInts(
        const char \* param,
        std::vector<unsigned int> def
        ) const;

    std::vector<unsigned int> GetParamAsUInts(const char \* param) const;
    bool GetParamAsBool(const char \* param, bool def) const;
    bool GetParamAsBool(const char \* param) const;
    std::string GetParamAsString(const char \* param, const char \* def) const;
    bool CheckParamPresence(const char \* param) const;
    std::string GetParamAsString(const char \* param) const;
    std::string getBoolStrParamAsIntStr(const char \* param) const;

    std::vector<std::string> GetParamAsStrings(
        const char \* param,
        std::vector<std::string> def
        ) const;

    static float ie_parse_float(const std::string& str);
    static std::string ie_serialize_float(float value);

Detailed Documentation

This class represents a general matrix multiplication operation layer.

Deprecated Migrate to IR v10 and work with ngraph::Function directly. The method will be removed in 2021.1

Formula is: dst := alpha*src1*src2 + beta*src3

Fields

float alpha = 1.f

A scale factor of src1 matrix.

float beta = 1.f

A scale factor of src3 matrix.

bool transpose_a = false

A flag that indicates if the src1 matrix is to be transposed.

bool transpose_b = false

A flag that indicates if the src2 matrix is to be transposed.

Methods

CNNLayer(const LayerParams& prms)

Creates a new GemmLayer instance.

CNNLayer(const CNNLayer& other)

Creates a new GemmLayer instance.