AI (42) 썸네일형 리스트형 28. TensorFlow 2.x - COVID 19 Radiography 예제 참고: https://youtu.be/6CXcLRVW78w?si=NXLGIKJ0xCYkA5wo 이번 글은 Kaggle에서 제공하는 폐 x-ray 사진을 이용하여 모델을 만들고 추론 성능이 어떻게 되는지 살펴보는 예제이다. 학습용 데이터로 사용할 이미지는 아래 링크에서 다운 받을 수 있다.https://www.kaggle.com/datasets/tawsifurrahman/covid19-radiography-database 다운 받은 파일을 보면, 3가지의 폐질환과 정상 폐사진으로 구분되어 있다. 이것을 기존에 해오던 대로 train과 test 폴더에 나누어 담아 모델을 학습하고 검증할 것이다. content 폴더에 COVID-19_Radiography라는 하위 폴더를 만들고 압축을 해제하였다.압축해제된 파.. 27. TensorFlow 2.x - Brain Tumor Classification 예제 참고: https://youtu.be/BqoxyGh9IW8?si=nyrsXWDbMjGVEp2I 이번 예제는 Kaggle에서 제공하는 뇌종양(Brain Tumor) 사진들을 이용하여 모델을 학습시키고 다른 사진들을 잘 판독하는지 점검해보는 예제이다. Kaggle의 데이터는 아래 링크에서 다운 받을 수 있다.https://www.kaggle.com/datasets/sartajbhuvaji/brain-tumor-classification-mri 위 슬라이드에서 이야기한 것 처럼 이미지의 수가 많지 않기 때문에 모델을 처음부터 학습시키기 쉽지 않아 Transfer Learning을 이용하여 미리 학습된 모델인 MobileNet을 사용하고 아래와 같이 구성한다. 다운 받은 데이터셋의 압축을 해제하면 위와 같.. 26. TensorFlow 2.x - Surface Crack Detection 예제 참고: https://youtu.be/p_3iJ035Q_Q?si=oXCT9hZFbViAjLVz 이번 예제는 Kaggle에서 제공하는 콘크리트가 갈라진 사진들을 이용해서 이를 deep learning 모델에 훈련시켜 알아서 인식하도록 하는 예제이다. dataset은 https://www.kaggle.com/datasets/arunrk7/surface-crack-detection 에서 다운받을 수 있고,파일 이름이 archive.zip인데 인식하기 편하게 content폴더 아래 surface_crack.zip으로 변경하여 사용하였다. content 폴더 아래 surface_crack.zip을 저장하고, 코드로 압축을 풀면 surface_crack 폴더가 위 처럼 생성된다.그렇지만 좀더 학습을 쉽게하기 위해.. 25. TensorFlow 2.x - GTSRB를 이용한 예제 참고: https://youtu.be/gT48GRKbADI?si=-3HjQxEn_jCZU3ZO 위 슬라이드에서 설명했듯이,GTSRB는 German Traffic Sign Recognition Benchmark의 약자로, 교통 표지판 사진들의 모음이다.https://sid.erda.dk/public/archives/daaeac0d7ce1152aea9b61d9f1e19370/GTSRB_Final_Training_Images.zip여기에서 데이터셋을 다운 받을 수 있다. 앞에서 실습했던 content 폴더 아래 압축을 풀어준다.압축을 풀면 Images 폴더 아래 숫자로 되어있는 폴더들이 나타나는데 이것이 해당 폴더안의 이미지들의 정답이다. 위의 순서대로 모델을 구현해 보자. 설명을 조금 덧붙이면, image.. 24. TensorFlow 2.x - callback 함수 소개 참고: https://youtu.be/5cmPhp0Kz9s?si=3Vqiqbcw7_3Mzxoc 콜백 함수는 워낙 많이 쓰이는 개념이니 경력이 어느정도 있는 개발자들은 알고 있는 내용이지만,이렇게 다들 안다고 하는 내용은 더욱 묻기도 힘들기도 하다는 것을 잘 알고 있어 소개한다.위의 슬라이드에서 설명하듯, 매번 특정 이벤트 발생하면 어떤 함수를 실행해 해달라고 등록할 수 있는데, 이런 함수를 콜백 함수라고 한다. TensorFlow에서도 역시 콜백 함수를 지원하는데, 일정 조건에서 학습을 멈춘다든가, 저장을 한다는가 하는 것이다.이전 예제에서 나왔던 ModelCheckpoint(), EarlyStopping()등이 그 예이다. ReduceLROnPlateau(monitor, factor, patienc.. 23. TensorFlow 2.x - Transfer Learning 예제 두번째 견종 판독 참고: https://youtu.be/9Y77ha3ioYY?si=wRbguq1IYqViWDLw 이번 예제는 인터넷이나 본인이 촬영한 개 사진으로 견종을 분류하는 예제이다.학습 데이터로 많은 사진을 구해야 하는게 번거러울 수 있으니 유튜브 링크에서 받은 파일을 공유한다.이 예제를 문제없이 실행하려면, 먼저 사진들을 지정공간에 저장하여야 한다. 작업 디렉토리에서 'content'란 폴더를 먼저 생성하고 'content' 폴더 아래에서 'dog_image' 폴더 안에 압축된 사진을 풀어낸다. 위 그림과 같은 폴더 구조를 갖도록 하며, 'cats_and_dogs_filtered'는 앞의 글 예제에서 사용한 파일이므로 무시한다.압축을 풀면 'test' 폴더와 'test_image_files' 폴더는 만들어지지 .. 22. TensorFlow 2.x - Transfer Learning 예제 Cats and Dogs 참고: https://youtu.be/fAgTGrcKE2E?si=bfLVolsRt-a8msCa 앞에서 알아본 Transfer Learning을 실제 코드로 구현해서 cats and dogs 문제를 추론해보자.먼저, 학습을 위해서 data를 다운로드 받아 압축을 풀어 놓아야 한다.https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip( 파일이 커서 첨부가 되지 않아 직접 받으시길...) 사전 학습된 모델은 Xception을 사용하였고, 특징 추출기만 가져왔다. 다운받아 압축을 풀어 파일들이 작업디렉토리 밑에 content/cats_and_dogs_filtered 아래에 있다고 가정한다.학습용 데이터가 많지 않기 때문에 앞에서 배운.. 21. TensorFlow 2.x - Transfer Learning 소개 참고: https://youtu.be/r4nQgQkdOqM?si=evhXsu10pL6RxDja Transfer Learning(전이학습) 이란 것은 이미 학습된 모델을 가지고 새로운 입력 데이터들로 추론하게 되는데,이렇게 새로 입력된 데이터를 또 학습데이터로 사용하게하여 추가로 학습시키는 것을 말한다. 위 슬라이드에서 보듯이,사전 학습 모델은 feature extractor와 classifier로 나눌 수 있고, 각각은 Conv + Conv + Pooling, Dense + Dense + Dense로 구성되어 있다. TensorFlow에서 제공하는 사전 학습 모델은 위와 같다. transfer learning을 이용한 fine-tuning을 할 때, 단순히 분류기만 학습시킬 지, 특징추출기의 일부까지.. 이전 1 2 3 4 ··· 6 다음