from skimage.transform import resize
from skimage.io import imread_collection
images = imread_collection('/content/dir/*.jpg')
images = [resize(img, (size,size)) for img in images]
imread_collection 으로 폴더 안의 jpg 파일을 다 불러오고,
리스트 컴프리헨션으로 한 번에 적용해줄 수 있다.
리사이즈를 하는 이유는?
Transfer learning 시 include_top 옵션을 True로 주면 불러온 모델의 fully connected layer와 연결된다. (한 층의 모든 뉴런이 그다음 뉴런과 연결된 상태를 말한다.)
https://keras.io/api/applications/resnet/ 을 참고하면,
이 경우에는 전이학습에 사용된 모델과 인풋 이미지 사이즈를 맞춰줘야 한다.
하지만 include_top 옵션을 False로 준다면 굳이 리사이즈를 하지 않아도 된다.
단, 이미지 사이즈가 32x32 이상일 때만이다.
input_shape: optional shape tuple, only to be specified if include_top is False (otherwise the input shape has to be (224, 224, 3) (with 'channels_last' data format) or (3, 224, 224) (with 'channels_first' data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g. (200, 200, 3) would be one valid value.
'머신러닝, 딥러닝' 카테고리의 다른 글
딥러닝 프로젝트 2: 넷X릭스 자막 전처리 (0) | 2021.04.25 |
---|---|
딥러닝 프로젝트 1: 번역 모델을 위한 삽질 (0) | 2021.04.24 |
RCNN을 이용한 Object Detection 따라해보기 1 (0) | 2021.04.20 |
Transformer를 사용한 인공 신경망 한영 번역기 코드 예제 실습 (Colab 버전) (0) | 2021.04.18 |
Transformer를 사용한 인공 신경망 한영 번역기 코드 예제 실습 (0) | 2021.04.16 |