MATLAB Answers

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

조회 수: 19(최근 30일)
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..

채택된 답변

Srivardhan Gadila
Srivardhan Gadila 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 = [
imageInputLayer(inputSize,'Name','input')
convolution2dLayer([3 1],16,'Padding','same','Name','conv_1')
batchNormalizationLayer('Name','BN_1')
reluLayer('Name','relu_1')
fullyConnectedLayer(10,'Name','fc1')
fullyConnectedLayer(numClasses,'Name','fc2')
softmaxLayer('Name','softmax')
classificationLayer('Name','classOutput')];
lgraph = layerGraph(layers);
analyzeNetwork(lgraph);
%% Define training options.
options = trainingOptions('adam', ...
'InitialLearnRate',0.005, ...
'LearnRateSchedule','piecewise',...
'MaxEpochs',100, ...
'MiniBatchSize',128, ...
'Verbose',1, ...
'Plots','training-progress');
%% Train the network.
net = trainNetwork(trainData,trainLabels,layers,options);

추가 답변(0개)

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by