つまりなにしたの?
ensekitt.hatenablog.com
いくらなんでも、この可愛いイッヌをみてモスクはないだろ?って思ってたんだけど、昨日まで出張で手が回らなかったので、
画像の前処理を今日確認したら、案の定間違っていた話。元記事にも訂正入れます。
どこが間違っていたの?
「画像をモデルに入れる準備をする」の部分。
誤
npar_img = np.asarray(resize_img, dtype=np.uint8).reshape(224,224,3) npar_img = npar_img.transpose(2,0,1) X = npar_img.reshape(3, 224, 224) # これがダメ(これでは行列順が維持されない) X = X-mean_image X = np.ndarray((1,3,224,224), dtype=np.float32)
正
npar_img = np.asarray(resize_img, dtype=np.float32).reshape(224,224,3) npar_img = npar_img[:,:,::-1] # RGBのままだったのでこれを追加(BGRで扱う) X = npar_img.transpose(2,0,1) X = X-mean_image X = X.reshape(1,3,224,224)
どうやって気づいたの?
ラベル付きの複数枚を突っ込んでもでたらめな答えが帰ってきたため。
なぜ間違えたの?
入れている画像を直接確認しなかったため。
Deep Learningは中身の解釈が難しいから入力を必要以上に気にしてあげなきゃいけないのに
そこを怠ったことが問題。