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

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

 採用された回答

mizuki
mizuki 2018 年 10 月 5 日

2 投票

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

3 件のコメント

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

サインインしてコメントする。

その他の回答 (0 件)

製品

リリース

R2018a

質問済み:

2018 年 10 月 5 日

コメント済み:

2018 年 10 月 8 日

Community Treasure Hunt

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

Start Hunting!