How to change from cell to array

3 vues (au cours des 30 derniers jours)
nahyun lee
nahyun lee le 20 Mar 2020
Commenté : nahyun lee le 20 Mar 2020
Hi all,
I want this code to run on the GPU.
Maybe O = (num2cell (O, [1 2])) of the RainDetect function; The part is expected to be a problem.
Since this part is a cell, the gpu operation does not seem to work.
I want to change from cell to array, is there a good way?
O = gather(video_ycbcr(gpuArray(video))); % Transfer RGB to YCbCr and retain Y only
O_cpu = {};
O_cpu{1} = O(:,:,001:149);% Can be easily extend to multiple GPU
O_gpu{1} = gpuArray(O_cpu{1});% Move array from CPU to GPU for acceleration
R_gpu{1} = RainDetect(O_gpu{1},paras);
R_cpu{1} = gather(cat(3,R_gpu{1}{:}));
R = R_cpu{1};
%==============================================================================
function [R,iter]=RainDetect(O,paras)
[m,n,t] = size(O);
O = (num2cell(O,[1 2]));
R{1} = gpuArray(zeros(m,n));
B{1} = O{1}-R{1};
iter{1} = 0;
[R{2},B{2},iter{2}]=RainDetect_i(O{2},B{1},paras);
for i = 3:t
disp(i);
[R{i},B{i},iter{i}]=RainDetect_i(O{i},B{i-1},paras);
end

Réponses (1)

KSSV
KSSV le 20 Mar 2020
Read about cell2mat.
  1 commentaire
nahyun lee
nahyun lee le 20 Mar 2020
i get this Error: Error using cell2mat (line 7) Cannot support cell arrays containing cell arrays or objects.

Connectez-vous pour commenter.

Catégories

En savoir plus sur GPU Computing dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by