1D CNN/ DNN for regression

15 ビュー (過去 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 Center および File ExchangeImage Data Workflows についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by