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

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

 Risposta accettata

mizuki
mizuki il 5 Ott 2018

2 voti

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

3 Commenti

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

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2018a

Richiesto:

il 5 Ott 2018

Commentato:

il 8 Ott 2018

Community Treasure Hunt

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

Start Hunting!