1D CNN/ DNN for regression

조회 수: 7 (최근 30일)
OMPRAKASH YADAV
OMPRAKASH YADAV 2020년 9월 15일
댓글: OMPRAKASH YADAV 2020년 9월 25일
I have 1D data which has been arranged as 700X8000X10(XxYxZ) where is X number of patients, Y is number of samples, and Z is number of features. I applied the following layer;
image3dInputLayer([700 8000 10],'Name','trainPredictors') where trainPredictors are an array of data arranged as 700X8000X10.
Target for the same is set as 700X8000.
denoiseNetFullyConnected = trainNetwork(trainPredictors,trainTargets,layers,options);
After training, I am getting following error.
Error using trainNetwork (line 165)
Layer 2: Invalid initializer. Requested 1024x51336000 (391.7GB) array exceeds maximum
array size preference. Creation of arrays greater than this limit may take a long time
and cause MATLAB to become unresponsive. See array size limit or preference panel for
more information.
Please help to resolve the issue
  댓글 수: 2
Mahesh Taparia
Mahesh Taparia 2020년 9월 18일
Hi
Can you tell, what your model is trying to estimate? Its like dimensional reduction, input size from MXNXD, you are reducing it to MXN.
Are you estimating anything related to patients/ samples?
OMPRAKASH YADAV
OMPRAKASH YADAV 2020년 9월 19일
Thank you for your concern.
Actually I am trying to develop a denoising model. Here, 700X8000X10(XxYxZ) where is X number of patients, Y is number of samples, and Z is number of features. i.e.
700 Patients data consisting of 8000 samples each. Then fixed noise ( 9 different noise levels ) is added to 700 patients. Finally at output, signal without noise is provided i.e. 700X8000.
The problem stated above resolved by reshaping the inputs. The procedure , which I am following is from:
layers = [
imageInputLayer([1,9,8000])
% batchNormalizationLayer
fullyConnectedLayer(8000)
batchNormalizationLayer
reluLayer
fullyConnectedLayer(8000)
batchNormalizationLayer
reluLayer
fullyConnectedLayer(8000)
regressionLayer
];
Still not able to train the network. Please suggest, where I am wrong.

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

채택된 답변

Mahesh Taparia
Mahesh Taparia 2020년 9월 21일
Hi
You are adding 9 different noise in input and reconstructing the original input. Still it is unclear about the noise addition. If you want to learn the features of the input you can train an autoencoder. Add more number of layers and change the architecture a bit. If you want to add noise just to make the network more robust, you can add one type of noise or can do some preprocessing depending upon the dataset. In this case you input will become 700X8000.
  댓글 수: 1
OMPRAKASH YADAV
OMPRAKASH YADAV 2020년 9월 25일
Thank you for your suggestions.Let me try.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Image Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by