MATLAB Answers

How to train complex [64 1] matrices in deeplearning nw

2 views (last 30 days)
I am trying to train a complex numbered matrix with a fullyconnected layer,
but I can't read the value of the imaginary axis from the input layer. Is there a way?
1) The method I thought of was dividing real and imag to learn the input layer into two
, but I can't find such a method well..

Accepted Answer

Srivardhan Gadila
Srivardhan Gadila on 29 Mar 2021
You can refer to the example: Modulation Classification with Deep Learning, specifically the pretrained network and "Transform Complex Signals to Real Arrays" section.
The following code might help you:
inputSize = [64 1 2];
numSamples = 128;
numClasses = 4;
%% Generate random data for training the network.
trainData = randn([inputSize numSamples]);
trainLabels = categorical(randi([0 numClasses-1], numSamples,1));
%% Create a network.
layers = [
convolution2dLayer([3 1],16,'Padding','same','Name','conv_1')
lgraph = layerGraph(layers);
%% Define training options.
options = trainingOptions('adam', ...
'InitialLearnRate',0.005, ...
'MaxEpochs',100, ...
'MiniBatchSize',128, ...
'Verbose',1, ...
%% Train the network.
net = trainNetwork(trainData,trainLabels,layers,options);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!