Я пытаюсь преобразовать изображение в график, получив матрицу смежности в matlab, используя следующий пример кода:
im = im2single(imread('cameraman.tif'));
% It is safe to assume that I need such a small adjacency matrix.
% therefore I resize the image below.
im = imresize(im,[16 16]);
[rows, cols, bands] = size(im);
imr = reshape(im, rows*cols, bands);
adj_matrix = zeros(rows*cols, rows*cols);
for ind = 1:rows*cols
dist = sum((imr - imr(ind,:)).^2,2);
adj_matrix(ind,:) = dist;
end
Хотя код быстр для отдельного изображения, я хочу масштабировать его до больших партий и запустить его на GPU. Так что моя цель в два раза:
Есть ли способ запустить это без цикла for?
Есть ли способ запустить это для партии, т. Е. Тензор [W x H x Num_of_Images]
Большое спасибо!