Ағылшын тілінде оқу

Бөлісу құралы:


структура DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC (directml.h)

Выполняет функцию матричного умножения для целочисленных данных.

Для этого оператора требуется, чтобы входные тензоры матричного умножения были 4D, которые имеют формат { BatchCount, ChannelCount, Height, Width }. Оператор матричного умножения выполнит BatchCount * ChannelCount число независимых матричных умножений.

Например, если параметр ATensor имеет значение Sizes{ BatchCount, ChannelCount, M, K }, а BTensor имеет значение Sizes{ BatchCount, ChannelCount, K, N }, а OutputTensor имеет значение Sizes{ BatchCount, ChannelCount, M, N }, то оператор матричного умножения будет выполнять независимое матричное умножение batchCount * ChannelCount для измерений {M,K} x {K,N} = {M,N}.

Синтаксис

C++
struct DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC {
  const DML_TENSOR_DESC *ATensor;
  const DML_TENSOR_DESC *AZeroPointTensor;
  const DML_TENSOR_DESC *BTensor;
  const DML_TENSOR_DESC *BZeroPointTensor;
  const DML_TENSOR_DESC *OutputTensor;
};

Члены

ATensor

Тип: const DML_TENSOR_DESC*

Тензор, содержащий данные A. Измерения этого тензора должны иметь значение { BatchCount, ChannelCount, M, K }.

AZeroPointTensor

Тип: _Maybenull_ const DML_TENSOR_DESC*

Необязательный тензор, содержащий данные нулевой точки ATensor. Ожидаемые измерения AZeroPointTensor имеют значение , если требуется { 1, 1, 1, 1 } квантование по тензору или { 1, 1, M, 1 } требуется квантование по строкам. Эти значения нулевой точки используются для декавантизации значений ATensor .

BTensor

Тип: const DML_TENSOR_DESC*

Тензор, содержащий данные B. Измерения этого тензора должны иметь значение { BatchCount, ChannelCount, K, N }.

BZeroPointTensor

Тип: _Maybenull_ const DML_TENSOR_DESC*

Необязательный тензор, содержащий данные нулевой точки BTensor . Ожидаемые измерения BZeroPointTensor имеют значение , если требуется { 1, 1, 1, 1 } квантование по тензору или { 1, 1, 1, N } требуется квантование по столбцам. Эти значения нулевой точки используются для размечения значений BTensor.

OutputTensor

Тип: const DML_TENSOR_DESC*

Тензор, в который записываются результаты. Измерения этого тензора — { BatchCount, ChannelCount, M, N }.

Доступность

Этот оператор появился в DML_FEATURE_LEVEL_2_1.

Ограничения тензоров

  • ATensor, BTensor и OutputTensor должны иметь одинаковые значения DimensionCount.
  • BTensor и BZeroPointTensor должны иметь один и тот же тип DataType.
  • ATensor и AZeroPointTensor должны иметь один и тот же тип DataType.

Поддержка тензоров

DML_FEATURE_LEVEL_5_2 и выше

Тензор Kind Измерения Поддерживаемые счетчики измерений Поддерживаемые типы данных
ATensor Входные данные { [BatchCount], [ChannelCount], M, K } От 2 до 4 INT8, UINT8
AZeroPointTensor Необязательные входные данные { [1], [1], AZeroPointCount, [1] } от 1 до 4 INT8, UINT8
BTensor Входные данные { [BatchCount], [ChannelCount], K, N } От 2 до 4 INT8, UINT8
BZeroPointTensor Необязательные входные данные { [1], [1], [1], BZeroPointCount } от 1 до 4 INT8, UINT8
OutputTensor Выходные данные { [BatchCount], [ChannelCount], M, N } От 2 до 4 INT32

DML_FEATURE_LEVEL_4_0 и выше

Тензор Kind Измерения Поддерживаемые счетчики измерений Поддерживаемые типы данных
ATensor Входные данные { [BatchCount], [ChannelCount], M, K } От 2 до 4 INT8, UINT8
AZeroPointTensor Необязательные входные данные { [1], [1], AZeroPointCount, [1] } от 1 до 4 INT8, UINT8
BTensor Входные данные { [BatchCount], [ChannelCount], K, N } От 2 до 4 INT8, UINT8
BZeroPointTensor Необязательные входные данные { [1], [1], 1, BZeroPointCount } От 2 до 4 INT8, UINT8
OutputTensor Выходные данные { [BatchCount], [ChannelCount], M, N } От 2 до 4 INT32

DML_FEATURE_LEVEL_2_1 и выше

Тензор Kind Измерения Поддерживаемые счетчики измерений Поддерживаемые типы данных
ATensor Входные данные { BatchCount, ChannelCount, M, K } 4 INT8, UINT8
AZeroPointTensor Необязательные входные данные { 1, 1, AZeroPointCount, 1 } 4 INT8, UINT8
BTensor Входные данные { BatchCount, ChannelCount, K, N } 4 INT8, UINT8
BZeroPointTensor Необязательные входные данные { 1, 1, 1, BZeroPointCount } 4 INT8, UINT8
OutputTensor Выходные данные { BatchCount, ChannelCount, M, N } 4 INT32

Требования

   
Минимальная версия клиента Windows 10 сборки 20348
Минимальная версия сервера Windows 10 сборки 20348
Верхняя часть directml.h