how to fft2 with dlarray?
4 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!