how to fft2 with dlarray?

조회 수: 4 (최근 30일)
瑛杰
瑛杰 2025년 1월 5일
댓글: 瑛杰 2025년 1월 6일
use in neural network training which need to define loss function
the loss function calaulated by the network input and output like this:
loss = mse(I,Y);
Y is the input of the network and I is the parameter which need fft2 through the output of the network
if use the extractdata(), the result can't be used to calculate gradient by
dlgradient(loss, net.Learnables)
in this situation the gradient only equal 0

채택된 답변

Matt J
Matt J 2025년 1월 5일
편집: Matt J 2025년 1월 6일
You haven't explained the difficulty you are experiencing, but I assume it is that an fft(), but not an fft2() command is available for dlarrays. However, you can build a 2D FFT out of 1D FFTs. Example:
X1=rand(400); %input to FFT
X2=dlarray(X1);
Y1=fft2(X1);
Y2=fft(fft(X2,[],2),[],1);
percentError = norm(Y1-extractdata(Y2),'inf')/norm(Y1,inf)*100
percentError = 1.3546e-13
  댓글 수: 1
瑛杰
瑛杰 2025년 1월 6일
Thank u for u reply!

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

제품


릴리스

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by