csvの一次元データに対する畳込みニューラルネットワークの入力データのばらつきについて
5 views (last 30 days)
Show older comments
音データのcsvデータに対し畳み込みニューラルネットワークを行っています。
CNNレイヤーに対応したデータストアはimageDatastoreしかないので、下記の読み込み関数を定義して読み込みを行っています。
function data = readDatastoreCSV(filename)
data = csvread(filename);
data = reshape(data, [1 1200 1 1]);
この場合読み込み関数で読み込むデータは1200データとしなければなりませんが、今手元にある入力データは1100や1400などばらつきがある状態です。
ですので、csvデータに対し0パディングのようにデータの水増しを行いたいと思っています。
例えば、1200データが存在するcsvに対し300データ「0」を末尾に加えて、この作業をすべてのデータ数を1500として扱おうと考えています。
こういったcsvデータの水増しはMATLABで可能でしょうか?
もしくは、MATLABのcnnの関数内でデータの数を合わせてくれる機能などが存在しているのでしょうか?
読み込み関数内で行ってもいいですし、csvデータのみ編集でもよいのでご教授いただければ幸いです。
0 Comments
Accepted Answer
Kazuya
on 11 Dec 2018
Edited: Kazuya
on 11 Dec 2018
データ型など注意する必要があるかもしれませんが、
function data = readDatastoreCSV(filename)
tmp = csvread(filename); % データ読み込み(N < 1500が前提)
N = length(tmp); % 読み取ったデータ要素数確認
data = zeros(1500,1); % 全て 0 のベクトル定義
data(1:N,1) = tmp; % filename のデータをコピー
data = reshape(data, [1 1500 1 1]);
とすれば、とりあえず結果出てくる data は 1500要素で揃います。
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!