csvデータを使って畳み込みニューラルネットワーク(cnn)で処理したい
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Natsuo OKADA
am 24 Okt. 2018
Beantwortet: Natsuo OKADA
am 31 Okt. 2018
40000×125のcsvファイル(gg.csv)があります。列ごとに抽出をしてcnnで処理をしたいです。以下が列ごとに抽出するためのコードです。
data = csvread('gg.csv');
for ii=1:40000
grade1newall = ['gg.csv',num2str(ii),'.csv']; %数値を文字配列に変換
csvwrite('filename', data(ii,:));
end
そのあとimageDatastoreで読み込めるようにcsvの処理を行ったのですが、
function data = readDatastoreCSV(gg) %imagedatestoreで読み込めるようにCSVの処理
data = csvread('gg.csv');
data = reshape(data, 40000,125,[]);
imds = imageDatastore('gg.csv','ReadFcn',@csvread,'FileExtensions','.csv');
imds.ReadFcn = @readDatastoreCSV;
data = read(imds);
_ *エラー: matlab.io.datastore.ImageDatastore/subsasgn (line 442) readDatastoreCSV はスクリプトです。
エラー: Untitled4 (line 7) imds.ReadFcn = @readDatastoreCSV;*_
のエラーが出てしまいます。なぜなのでしょうか。
0 Kommentare
Akzeptierte Antwort
Etsuo Maeda
am 29 Okt. 2018
imds = imageDatastore('gg.csv','ReadFcn',@csvread,'FileExtensions','.csv');
としてimdsのReadFcnにMATLAB標準関数のcsvreadを設定したあとに、
endimds.ReadFcn = @readDatastoreCSV;
としてimdsのReadFcnをreadDatastoreCSVに変更するという操作をしているコードのようです。 エラーメッセージは、readDatastoreCSVが関数として定義されておらず、スクリプトである旨のエラーを表示しています。 readDatastoreCSVはMATLAB標準関数ではありませんので、ユーザカスタム関数として定義しておく必要があります。 当該のm-scriptの内部に書いてもよいですし、パスの通った場所にreadDatastoreCSV.mを作成してもよいかと思います。
function varargout = readDatastoreCSV(varargin)
hogehoge
end
おそらくは https://jp.mathworks.com/matlabcentral/answers/415171-csv のAnswersを参照されたと思います。関数の取り扱いについて、もう一度よくご確認ください。
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Recognition, Object Detection, and Semantic Segmentation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!