Custom filedatastore for deep learning

조회 수: 1 (최근 30일)
Bence Cserkuti
Bence Cserkuti 2020년 11월 17일
답변: Bence Cserkuti 2020년 11월 27일
I started to implement a Deep Learning network to classify the modulation of RF signals.
I use a 2D image input layer with dimensions 1x1024x2. I converted the dataset into variables which are saved in mat files. The variables have a dimension of 1x1024x2xN, where N is the number of signals which is 24*4096. The labels are stored in separate mat files and the variable is an Nx1 categorical cell array.
I have multiple mat files for the training data but I am unable to create a filedatastore which will read all of the signals along the 4th dimension from one file and then do the same for the rest of the files.

채택된 답변

Bence Cserkuti
Bence Cserkuti 2020년 11월 27일
Thank Mahesh,
I ended up writing a custom Datastore class. In case others face the same problem, I recommend reading these pages carefully:
In my case, when I initialise my custom class, I pass two arguments: the file names of my signals and the file names of the corresponding labels. I then create a filedatastore for each dataset. What was a key observation is that your custom read function must return 1 observation at a time by default (this can be increased by implementing the ReadSize property). In this case that means then if I call ds.preview it will return a row that contains a 1x1024x2 signal and the corresponding categorical array.

추가 답변 (1개)

Mahesh Taparia
Mahesh Taparia 2020년 11월 21일
Hi
In this case, you can create a custom ReadFcn while creating a file datastore. For more information, you can refer this documentation. The custom read function will load the file and read the data as per required.Hope it will help!
  댓글 수: 1
Bence Cserkuti
Bence Cserkuti 2020년 11월 27일
Thank Mahesh,
I ended up writing a custom Datastore class. In case others face the same problem, I recommend reading these pages carefully:
In my case, when I initialise my custom class, I pass two arguments: the file names of my signals and the file names of the corresponding labels. I then create a filedatastore for each dataset. What was a key observation is that your custom read function must return 1 observation at a time by default (this can be increased by implementing the ReadSize property). In this case that means then if I call ds.preview it will return a row that contains a 1x1024x2 signal and the corresponding categorical array.

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

카테고리

Help CenterFile Exchange에서 Classification에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by