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?

 채택된 답변

Aditya Patil
Aditya Patil 2020년 11월 18일

0 개 추천

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

댓글 수: 2

Hengfa Lu
Hengfa Lu 2021년 9월 15일
Hi Aditya, I want to follow up to see if fft supports dlarray now? Thank you.
fft doesn't support dlarray. You can see the list of supported functions.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

제품

릴리스

R2020b

태그

질문:

2020년 11월 15일

댓글:

2021년 9월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by