ho to change cell array elemen value to Nan, when using gpuarray?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Mantas Vaitonis
el 19 de Jun. de 2018
Comentada: Mantas Vaitonis
el 19 de Jun. de 2018
Hello Everyone,
Maybe somebody has a solution for this case? I have gpu cellarray with 1x499 and cells within 5x5. I would like to find zeros and change them to Nan. What I managed to do is here:
SQ=cellfun(@(x)(x==0,NaN,x), SQ,'UniformOutput',false);
Respuesta aceptada
Edric Ellis
el 19 de Jun. de 2018
Instead of a 1x499 cell array of 5x5 gpuArray matrices, why not consider a 5x5x499 array. You can convert your existing cell array like this:
SQ_array = cat(3, SQ{:}); % concatenate in 3rd dimension, result is 5x5x499
Then, you can simply do:
SQ_array(SQ_array == 0) = NaN;
cellfun(@(x) standardizeMissing(x, 0), SQ, 'UniformOutput', false)
3 comentarios
Edric Ellis
el 19 de Jun. de 2018
mat2cell(SQ_array, 5, 5, ones(1, 499))
but really, I suspect you'd be much better off retaining the array form if you can. A 5x5 matrix is usually much too small for the GPU to offer much benefit - you need to keep your GPU busy by feeding it lots of data all at once in a single array-based operation. You've got a much better chance with a 5x5x499 array.
Más respuestas (0)
Ver también
Categorías
Más información sobre GPU Computing in MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!