Effacer les filtres
Effacer les filtres

csvデータを使って​畳み込みニューラルネ​ットワーク(cnn)​で処理したい

3 vues (au cours des 30 derniers jours)
Natsuo OKADA
Natsuo OKADA le 24 Oct 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;*_
のエラーが出てしまいます。なぜなのでしょうか。

Réponse acceptée

Etsuo Maeda
Etsuo Maeda le 29 Oct 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を参照されたと思います。関数の取り扱いについて、もう一度よくご確認ください。

Plus de réponses (1)

Natsuo OKADA
Natsuo OKADA le 31 Oct 2018
m scriptの中に書いたらできました。 ありがとうございました。

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by