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

 

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

 

 

 

 

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

 

이런 에러가 나는데

 

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

 

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

 

 

 

 

 

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

 

 

 

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

 

 

 

 

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

 

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

 

 

 

 

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

 

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

 

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

 

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

 

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

Comments