일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 타입스크립트심화
- 개발일기
- rnn
- 자바스크립트
- 파이썬
- 컴퓨터비전
- 디버깅
- 순환신경망
- 데이터베이스
- 스프링프레임워크
- 연습문제
- SQL
- 자바
- 정보처리기사필기
- html/css
- 딥러닝
- JSP
- 혼공머신
- JDBC
- 정보처리기사실기
- 중학수학
- 자바스크립트심화
- 머신러닝
- 중학1-1
- 쇼핑몰홈페이지제작
- ChatGPT
- JSP/Servlet
- 자바 실습
- 데이터분석
- 상속
- Today
- Total
목록인공지능/딥러닝 (99)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이이서 가위 바위 보 객체 탐지하는 실습을 진행해 보겠다. 아침 공부할 시간이 이제 30분도 남지 않아서 서둘러야겠다. YOLO v8 객체 탐지 실습해보기이제 불러온 가위 바위 보 객체 탐지 모델을 학습시킬 차례이다. data의 경로를 yaml에 가서 붙여 넣는데 줄이 너무 길기에 상대경로로 점을 찍어서 앞의 부분을 지우면 된다. 이 모델을 가져오는데 10분 정도 걸린다.너무 긴 관계로 일부만 캡처해 보았다. 모델 학습에 붙여 넣을 경로 runs에 가면 train에 이러한 파일이 들어있다. weights에 들어가면 이러한 파일이 들어있는데 베스트 모델을 담아놓은 것이 best.pt이다. 이 안에 있는 weights 안의 best.pt의 경로를 복사하여 괄호 안에 넣는다. ..
AICON 행사에 가려면 아침에 공부할 시간이 1시간 반밖에 남지 않았다. 그래도 수업 한 시간 분량은 공부할 수 있을 것 같아 객체 탐지 공부를 이어서 하려고 한다.그리고 행사 끝나고 나서 집에 와서 저녁에 영어 공부 마치고 나서 하면 분명 오늘 객체 탐지 단원까지는 마칠 수 있을 것 같다. 시간이 남으면 책 학습을 하고 아니면 내일 새벽에 하면 된다. YOLO v8 객체 탐지 실습해 보기지난 시간에는 YOLO v6 버전으로 객체를 탐지하는 실습을 진행했다. 이번에는 조금 업그레이드된 v8 버전으로 학습을 진행해 볼 것이다. 지난번에 했던 것처럼 경로를 현재 위치로 가져온다. YOLO 모델 가져와서 코드 붙여 넣기 가위 바위 보 객체 탐지 모델 다운로드 yolov7_rock_paper_sci..
이어서 라벨링한 데이터의 코드를 수정하는 작업을 진행해 보겠다. data.yaml 파일 수정하기 그리고 이 폴더 안에 들어가면 이미지가 있는데 이상하게도 이미지에 라벨이 표시되어 있지 않다. 그 이유는 라벨은 좌표이기 때문이다. 사진 안에는 없지만 lables에 들어가면 좌표가 찍혀 있다. 이제 다시 코랩으로 돌아와서 이미지 학습을 시킬 텐데 그전에 한 가지 주의 사항이 있다. labes 폴더에 들어가 보면 다음과 같은 텍스트 파일을 볼 수 있다. data.yaml은 데이터가 들어있는 경로를 저장해 주는 파일이다. 이 파일은 지금 상대경로로 되어 있는데 이것을 절대경로로 변경하여 저장할 것이다. images 폴더 밑에 있는 test, train, valid의 경로를 복사하여 이..
오늘은 새벽에 일어나기도 귀찮고 공부도 하기가 싫은 마음이 많았지만 그래도 책상 앞에 앉아 공부를 진행해 보기로 했다. 난 누군가를 가르치는 사람 위치에 있는 사람은 말과 행동이 일치되고 인격이 되어야 한다고 생각하는데 이렇게 본이 되는 사람을 만나는 건 하늘의 별 따기처럼 어렵다는 걸 알게 되었다. 그저 어떤 과목에 대해서 일정 기간 동안 지식을 나누어주는 사람으로만 바라보기로 했다.사람이라는 존재는 정말 믿을 게 못 된다. 어쨌든 무척 화가 나는 일이 있지만 원래 그런 사람이려니 하며 여기기로 했다. 대신 한 가지 좋은 팁을 얻기도 했으니 인생은 새옹지마라는 말이 딱 맞다. 이제 공부를 시작해 볼 것이다. roboflow에서 모델 가져오기이 사이트에 들어가서 친칠라 사진을 첨부한 후 이 사진을 ..
개와 이미지 분류하는 실습이 잘 안 되는 게 많아서 많은 에너지를 소진했더니 공부할 의욕이 상실되었다. 잠시 놀고 싶은 마음에 사로잡혔지만 그래도 오늘 하기로 한 목표를 조금이나마 채워가기로 마음을 바꾸었다. 원래 오늘 목표는 이틀치 수업 분량을 다 듣고 내일 아침까지 CNN 공부를 대부분 마치려고 했었다.하지만 딥러닝 공부가 만만치 않아서 막히는 부분이 많다. 그래도 지난 6월부터 인사교에 와서 공부를 하면서 별로 막히는 부분은 없었다. 게임 개발을 할 때는 이런 부분이 참 많았는데 말이다. 어쨌든 오늘 저녁에는 영어 공부도 1시간 반 하기로 스스로와 약속을 했으니 꼭 지킬 것이다. 매일 미루고 미룬 게 벌써 몇 달이 훌쩍 지났다. 이제 객체 탐지 수업을 들으며 공부를 시작해볼 것이다. 객체 탐지..
어제 공부하려다가 영상이 중간 잘리기도 하고 없는 것 같아서 진행하지 못했었다. 근데 오늘 보니 복습으로 잠깐 소개하는 부분이 있어 코드를 작성하면 될 것 같았다. 조금 전에 책에 나온 개/고양이 실습을 진행하다 너무나도 지쳤다. 몇 시간을 연구했지만 되는 코드가 없었다. 책에 나온 코드들은 20~30%는 잘못된 코드라서 일일이 하나하나 고치고 있는데 이 부분은 도저히 고칠 수가 없었다. 정말 화가 나고 스스로에게 답답한 마음이 들었으나 다시 마음을 회복하며 공부를 이어가 본다. 이제 객체 탐지를 공부하려고 했는데 수업 영상이 있어서 이것부터 공부를 마무리해 볼 생각이다. 개 고양이 이진 분류 실습해보기 데이터를 불러와서 data 폴더 안에 저장된 np_cats_dogs.npz 파일을 불러온다...
앞서 다룬 예제들은 케라스 또는 텐서플로 데이터셋을 로드해 사용한 것이다. 하지만 실제 업무 또는 AI 경진 대회 참가 등의 상황에서는 파일 형태의 데이터셋을 분석에 활용해야 한다.이 경우 고성능 GPU가 탑재된 워크스테이션이나 PC에 데이터셋을 저장하고 이 데이터를 텐서플로 분석 환경으로 읽어오는 과정이 필요하다. 하지만 실무에서 주로 다루는 이미지 파일은 용량이 크거나 파일 개수가 많아서 컴퓨터 메모리 또는 그래픽 카드 메모리가 부족한 상황이 자주 발생한다. 이런 문제를 해결하려면 이미지 데이터셋을 32장, 64장, 128장 등 배치 단위로 나눈 다음, 배치 한 개를 읽어와 딥러닝 모델에 주입하면 메모리 부담 없이 학습할 수 있다. 전체 데이터셋을 전부 모델에 입력할 때까지 배치 단위로 읽어오고 주입..
이어서 위성 이미지 분류 학습을 진행해 보겠다. 데이터 증강(Data Augmentation)앞서 배운 과대적합을 해소하는 기법인 배치 정규화, Dropout 등을 적용했음에도 과대적합이 발생하였다. 이미지 분류 문제에서 관대적합을 해소하고, 모델의 일반화된 Robust한 성능을 확보하는 기법으로 데이터 증강 기법을 소개한다.이미지 데이터에 여러 가지 변형을 주어 훈련 데이터의 다양성을 확보하는 방식으로, 모델이 새로운 데이터에 대한 예측력을 강화하도록 하는 개념이다.먼저 EuroSAT 데이터셋 중에서 하나의 샘플 이미지를 선택하여 시각화한다. 샘플 이미지에 변화를 주기 전과 후의 이미지를 비교할 수 있는 시각화 함수를 정의한다. tf.image 모듈의 flip_left_right 함수를 사..
수학 공부도 마쳤으니 3시간 동안 열심히 아침 공부를 해볼 것이다. 우선 책에 있는 내용을 모두 마치고 객체 탐지 수업을 들어보려고 한다. 오늘도 시각지능 수업 이틀 치를 모두 학습하고 내일까지 해서 CNN을 마치고 내일 모레부터는 RNN 공부에 들어갈 생각이다.그럼 바로 공부를 시작해보자. 텐서플로 데이터셋 로드텐서플로 데이터셋에서는 인공위성에서 지표면을 촬영한 이미지와 토지이용분류 값이 정리되어 있는 EuroSAT 데이터셋을 제공한다. EU의 코페르니쿠스 지구 관측 프로그램에 의해 제공되는 공용 데이터셋인 Sentinel-2 위성이 관측한 이미지를 기반으로 만들어졌다. 총 27000장의 위성사진과 10개의 토지이용분류 값이 매칭되어 제공된다.먼저 텐서플로 데이터셋을 사용하기 위해 라이브러리를 다..
이번에는 전이 학습에 대해서 학습해 보겠다. 앞서 훈련한 모델의 일부를 가져와서 그대로 사용하고, 최종 출력층만 새롭게 추가하여 모델을 재구성할 수 있다. 이처럼 기존에 학습된 모델을 활용해 새로운 모델을 만들어 내는 개념을 Transfer learning이라고 한다. 앞에서 학습한 모델에서 입력 레이어부터 'flatten_layer'라는 name 속성을 갖는 Flatten 층까지 해당하는 부분을 따로 추출하여, base_model 객체를 만든다. 모델 개요를 출력해서 확인해 보면 (28, 28, 1) 이미지를 받아서 5408개의 피처로 특징을 추출해 출력하는 모델이다. 모델 구조를 기각화하면 더 쉽게 이해할 수 있다. Sequential API를 사용하여 앞에서 정의한 base_model을..