dlmtimes

Пакетное умножение матриц для глубокого обучения

Синтаксис

Описание

пример

dlC = dlmtimes(dlA,dlB) вычисляет умножение матриц для каждой страницы dlA и dlB. Для 3-D входных параметров dlA и dlB, dlC вычисляется как

dlC(:,:,i) = dlA(:,:,i) * dlB(:,:,i)
Точно так же для n- размерные входные параметры dlA и dlB, dlC вычисляется как
dlC(:,:,i1,...,in) = dlA(:,:,i1,...,in) * dlB(:,:,i1,...,in)
Если один из dlA или dlB двумерная матрица, эта матрица умножает каждую страницу другого входа.

Примеры

свернуть все

Создайте два 4-D массива.

A = rand(3,4,8,2);
B = rand(4,5,8,2);

dlA = dlarray(A);
dlB = dlarray(B);

Вычислите пакетное умножение матриц dlA и dlB.

dlC = dlmtimes(dlA,dlB);
size(dlC)
ans = 1×4    
     3     5     8     2

Если одни из входных параметров являются 2D матрицей, функция использует скалярное расширение, чтобы расширить эту матрицу до того же размера как другой вход в третьих и более высоких размерностях. Функция затем выполняет пакетное умножение матриц к расширенной матрице и входному массиву.

Создайте случайный массив размера 15 20 3 128. Преобразуйте в dlarray.

A = rand(15,20,3,128);
dlA = dlarray(A);

Создайте случайную матрицу размера 20 15.

B = rand(20,15);

Умножьте dlA и B использование dlmtimes.

dlC = dlmtimes(dlA,B);
size(dlC)
ans = 1×4    
    15    15     3   128

Входные параметры

свернуть все

Операнды в виде скаляров, векторов, матриц или массивов N-D. По крайней мере один из dlA или dlB должен быть dlarray. Входные параметры dlA или dlB не должен быть отформатирован если один из dlA или dlB бесформатный скаляр.

Количество столбцов dlA должен совпадать с количеством строк dlB. Если один из dlA или dlB двумерная матрица, эта матрица умножает каждую страницу другого входа. В противном случае, размер dlA и dlB для каждой размерности, больше, чем два, должен соответствовать.

Выходные аргументы

свернуть все

Продукт, возвращенный как скаляр, вектор, матрица или массив N-D.

Массив dlC имеет одинаковое число строк как вход dlA и одинаковое число столбцов как вход dlB, если один из dlA или dlB скаляр. Размер других размерностей dlC совпадайте с размером размерностей, больше, чем два из обоих dlA и dlB. Если dlA или dlB матрица, размер других размерностей совпадает с размером другого (нематричного) входа. Если один из dlA или dlB скаляр, dlC имеет тот же размер как нескалярный вход.

Введенный в R2020a