関数 'hasdata' (タイプ'double' の入力引数) が未定義です。の原因は何でしょうか

カスタムミニバッチデータストアを使って、カラー画像で任意のノイズ画像生成を生成し、学習させたいと考えています。しかし、「関数 'hasdata' (タイプ'double' の入力引数) が未定義です。」というエラー文が出ますが、画像のサイズ的に読み込めないのでしょうか? どこを直したらよいでしょうか

 Akzeptierte Antwort

mizuki
mizuki am 5 Okt. 2018

2 Stimmen

これだけでは判断ができませんが、hasdata は特定のオブジェクトにのみ使用可能な関数(今回の場合データストア)ですので、入力引数がデータストアでないと上記のようなエラーが出ます。 例えば、以下のように double 型の入力引数 a を入れてみます。
a = [1:5];
while hasdata(a)
disp(a)
end
関数 'hasdata' (タイプ'double' の入力引数) が未定義です。
まずは hasdata 関数の入力引数がデータストア型になっているかを確認してみてください。
なお、型を確認するには class 関数を使用します。

3 Kommentare

Fork
Fork am 5 Okt. 2018
if hasdata(ds)
ds.CurrentImageIndex = ds.CurrentImageIndex + 1;
else
ds.CurrentImageIndex = 1;
end
なんですが、
function ds = RowColNoiseImageDatastore(imds,varargin)dsが引数になっていて、imdsはデータストア型でvararginが可変の入力引数のリストの入力変数でした。
どこを変更すればよいでしょうか
mizuki
mizuki am 5 Okt. 2018
ds はデータストアになっていますでしょうか。
Fork
Fork am 8 Okt. 2018
なっていませんでした。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Version

R2018a

Gefragt:

am 5 Okt. 2018

Kommentiert:

am 8 Okt. 2018

Community Treasure Hunt

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

Start Hunting!