fft and complex number operation for dlarray?

Is there any ways to do complex number and fft operations for dlarray?
I'm trying to use auto differentiation to calculate the gradient of a mse loss function.
init_phase = 2*pi*rand(1080,1080)-pi;
phase = dlarray(init_phase,'SS');
in_complex_field = ones(size(phase,1,2)).*exp(1j.*phase);
target_amp = im2double(imread('1,bmp'));
out_complex_field = fft2(ifftshift(in_complex_field));
out_amp = abs(out_complex_field).^2;
mse_val = mse(out_amp, target_amp);
grad = dlgradient(mse_val,phase);
Although I could do basic complex number operations with separable real and imaginary parts,
[real,imag] = polar_to_rect(ones(size(phase,1,2)),phase);
in_complex_field = cat(3,real,imag);
is there any ways that I could do fft2 operation with dlarray?

 Respuesta aceptada

Aditya Patil
Aditya Patil el 18 de Nov. de 2020

0 votos

As of now, fft does not support dlarray. This is an known issue, and it might get fixed in any upcoming release.

2 comentarios

Hengfa Lu
Hengfa Lu el 15 de Sept. de 2021
Hi Aditya, I want to follow up to see if fft supports dlarray now? Thank you.
Aditya Patil
Aditya Patil el 16 de Sept. de 2021
fft doesn't support dlarray. You can see the list of supported functions.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 15 de Nov. de 2020

Comentada:

el 16 de Sept. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by