assert next().shape程式碼問題
2020/03/17 下午 11:14
電腦視覺深度學習討論版
周彥仰
觀看數:5
回答數:1
收藏數:1
cvdl-2
您好, 想問下面那行在程式中的用意
assert next(batch_gen).shape==(batch_size, width, height, 3)
回答列表
-
2020/03/19 下午 03:43胡連福贊同數:3不贊同數:0留言數:1
1. batch_gen 是調用 keras 的 ImageDataGenerator() 模組,其 return 結果是一個 generator,
而 generator 也是一個 iterator 物件,所以要用 next() 方法把 iterator 的內容迭代出來。
你可以參考此文件 https://keras.io/preprocessing/image/
2. assert 後面的 expression 是在判斷此 expression 是否為 true,若為 True 則不會有 error 訊息產生。
以此例的 next(batch_gen).shape 結果為 (4, 224, 224, 3),如果你的 code 沒問題的話,
next(batch_gen).shape 會等於 (batch_size, width, height, 3),則 assert 不會產生錯誤訊息。