csvデータを使って畳み込みニューラルネットワーク(cnn)で処理したい
조회 수: 8 (최근 30일)
이전 댓글 표시
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
채택된 답변
Etsuo Maeda
2018년 10월 29일
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
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Recognition, Object Detection, and Semantic Segmentation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!