딥러닝 중 UnidentifiedImageError: cannot identify image file 의 에러가 나올때

 

dataloader에서 이미지를 뽑아 모델에 넣어 성능 평가를 하려고 하는데..

 

etc-image-0

 

 

 

PIL.UnidentifiedImageError: cannot identify image file <_io.BufferedReader name='/content/notMNIST_large/D/VHJhbnNpdCBCb2xkLnR0Zg==.png'>

 

이런 에러가 나는데

 

/content/notMNIST_large/D/VHJhbnNpdCBCb2xkLnR0Zg==.png 파일에 무슨 문제가 있는 것이 아닐까? 생각을 해봤다

 

os.listdir로 일단 파일이 실제 있는지 확인을 해본다

 

 

etc-image-1

 

 

 

그래서 PIL.Image.open을 이용해서 open을 해보려고 하면

 

etc-image-2

 

 

다른 파일로 한번 open을 해보면 문제 없이 열리긴 한다

 

etc-image-3

 

 

 

파일이 있다는 것은 확인했는데.. 안열린다면.. 그 파일이 문제겠지

 

os.path.getsize()는 해당 경로의 파일의 용량을 알려준다

 

etc-image-4

 

 

 

0바이트라 데이터 파일이 깨져있나보다..

 

그래서 해당 파일을 os.remove()로 삭제해주고 다시 dataloader를 만들면 에러 해결 가능하다..

 

물론 다른 파일이 또 깨져있을 수 있다

 

그런 경우 그 파일을 또 삭제하고...

 

os.remove('/content/notMNIST_large/D/VHJhbnNpdCBCb2xkLnR0Zg==.png')
728x90