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

9 visualizaciones (últimos 30 días)
Natsuo OKADA
Natsuo OKADA el 24 de Oct. de 2018
Respondida: Natsuo OKADA el 31 de Oct. de 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;*_
のエラーが出てしまいます。なぜなのでしょうか。

Respuesta aceptada

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

Más respuestas (1)

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

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by