2017-12-29 30 views
0

keras.preprocessing.image ImageDataGeneratorを使用して、ハードドライブ上のフォルダから画像をストリーミングしています。それは主に動作しますが、画像にアクセスするときにコードがランダムにエラーをスローします。エラーメッセージは次のようになります。KerasのImageDataGeneratorは、画像ファイルにアクセスするとランダムにエラーをスローする

img = pil_image.open(path) 
File "C:\Program Files\Anaconda3\envs\py35_cv2_nb_tf\lib\site-packages\PIL\Image.py", line 2452, in open 
% (filename if filename else fp)) 
OSError: cannot identify image file 'd:/workspace/cat_dog/train\\cats\\666.jpg' 

しかし、私はそれがあるため、誤解を招くと思う:時にはそれが何の問題もなく、全体のバッチを通過

  • 。クラッシュが発生すると、常に別のイメージで発生します。
  • がcat666画像
  • と、明らかに間違って何もありませんが、クラッシュ後、ファイルが

任意のアイデアをロックされたまま?私はすでに画像からすべてのメタデータを削除しました。

+0

指定されたファイルパスが存在しますか? – flamelite

答えて

0

パス文字列変数を生の文字列として使用する場合は、接頭辞としてrを使用して変数を生の文字列として評価する必要があります。

path = r'd:/workspace/cat_dog/train/cats666.jpg' 
+0

私は実際に(rなしで)行います。そのようなエラーメッセージがなぜ出てくるのかはわかりません。しかし、フォルダに> 10000イメージが含まれているだけで、ときどきこの問題が発生します。 – giantsqueed

+0

私はPILが間違った方法でパス文字列を解析していると思うあなたの質問から、このような問題のある類似のデータベースでも働いています。 – flamelite

関連する問題