728x90

오늘 학습내용은 거의 실습 위주로 진행해서 이론내용은 많지 않았습니다! 특히 사전 학습은 같은 경우는 앞서 프로젝트에서 한번 해봤기 때문에 나름 익숙했습니다. 

 

*ImageDataGenerator

ImageDataGenerator가 필요한 이유는 CPU,MEMORY,GRU의 자원을 고려해야 하기 때문입니다. 입력될 이미지의 사이즈가 크고 양이 많다면 한번에 메모리에 올리지 못합니다. 올린다 해도 CPU가 처리를 못하게 됩니다. GPU도 마찬가지입니다. GPU에서는 수~많은 파라미터가 연산이 진행되기 때문에 한계가 존재합니다. 따라서 batch_Size만큼만 이미지를 가져와서 전처리하고 학습하는 과정이 필요하게 됩니다. 이 필요성을 해결해주는 도구가 바로 ImageDataGenerator입니다.

 

위 그림은 지난 시간에 포스팅된 이미지 중 하나입니다. ImageDataGenerator의 흐름을 나타낸 것입니다. flow() 같은 경우는 array로 된 Image를 "직접" 받을때 사용됩니다. flow_from_directory()는 형식화된? 정해진 어떠한 디렉토리 구조가 있는데 이를  flow_from_directory가 알아서 캐치하여 전처리를 하게 됩니다. 

실습 내용 중 일부분입니다. directory에 경로를 넣으면 알아서 전처리를 진행합니다. 주의 할 점은 위 실습 코드처럼 적고 enter만 친다고 해서 전처리가 진행되지 않습니다. 단지 "대기중"일 뿐입니다. Model에서 fit() or fit_generator()를 호출하게 되면 실질적으로 전처리가 batch_Size 만큼 진행됩니다. 

 

flow_from_dataframe()은 주로 메타정보를 dataframe로 만든 것을 받습니다.

 

아래는 실습 내용입니다 

2021.10.05 - [실습 note] - CNN_Fundamental 실습 모음

 

CNN_Fundamental 실습 모음

해당 실습은 iflearn "CNN_Fundamental" 강의에서 사용되었습니다. 실습 진행 순서대로 list-up 했습니다 1. Gradient Descent_01 Gradient_Desecent 내용은 딥러닝 수학 강의에서 배웠으므로 따로 이론을 정리하..

ghdrldud329.tistory.com

 

 

 

 

 

728x90

+ Recent posts