본문 바로가기

공부방/Upstage AI Lab 4기

CNN 개념 정리: convolutional filter, channel, stride, padding CNN: Convolutional Neural NetworkCNN을 구성하는 것 : Convolutino Layer, Activation function, Pooling layer 등으로 구성되어 있다.CNN의 주요 키워드:convolutional filter, channel, stride, padding Convolution Layer네트워크가 이미지를 알아볼 수 있도록 하기 위해 유용한 피쳐들을 학습할 수 있도록 한다. 이미지가 들어오면, 특정 크기의 필터(=커널)를 사용해 이미지를 왔다갔다 스캔하면서 컨볼루션 연산을 때리고, 그 연산 결과 필터 영역에 대한 특징을 추출한다. 여기서 필터는 k x k 크기의 텐서로, 이미지와 컨볼루션 연산을 하고 바이어스(하나의 숫자)를 더해준다. 위 그림에서는 인풋.. 더보기
MLP, 다층 퍼셉트론 더보기
학습일지 | 딥러닝과 파이토치 딥러닝 = 텐서 연산 모음파이토치는 데이터를 텐서 객체로 다루기 때문에 데이터를 텐서로 바꿔야 한다. 그리고 모델을 불러와 학습시키고 예측 결과를 내놓게 한다. 결과가 나오면 오차를 손실함수로 수치화하고, 손실 함수가 최소가 되도록 하는 최적화 알고리즘을 거치면서 모델이 최적의 파라미터를 찾아 업데이트한다.  전이학습(Pretrained Model)말 그대로 이미 한번 학습을 시켜놓은 모델. 학습한 task에 대해서 일반적인 성능을 가지고 있다. 갓 업계에 입문한 쌩신입에게 기본적인 것을 가르쳐준 단계랄까. 아무것도 모르는 사람을 처음부터 가르쳐서 전문가로 만드는 것보다 기본은 알고 있는 사람에게 좀 더 심화 지식을 가르치는 것이 수월한 것처럼, (누군가 이미 잘 만들어놓은) 프리트레인된 모델을 가져와 .. 더보기
Airflow | 시작하기, 환경변수가 제대로 설정돼야 돌아감 에어플로우 시작할 때1) airflow db init이렇게 초기화(?)를 하고 에어플로우 폴더가 자동으로 만들어지면 그때부터 시작된다. (작업하는 폴더에서 airflow db init이 명령어를 실행하면 새로운 AIRFLOW_HOME 위치에 airflow.cfg 파일을 포함한 모든 필요한 파일과 디렉토리가 생성됩니다.) 그리고 airflow db init 이거 명령어 바뀔꺼라고..? airflow db migrate로 바뀔 거라고 한다. 이런 식으로 폴더랑 db, cfg 파일이 생겨야함. dags 폴더는 자동으로 안생기길래 내가 따로 만들어줬다.그리고 이 dags폴더 안에 파일을 놔둬야 에어플로우가 돌아간다.  오류사항오류남 -> Pendulum 3.0.0 버전은 Airflow와 호환성 문제를 일으킬 수.. 더보기
패스트캠퍼스 Upstage AI Lab 부트캠프 4기, “MLOps 프로젝트” 지난 주 금요일, 부트캠프에서 진행한 3번째 팀 프로젝트 MLOps 프로젝트가 끝났습니다! (얏호!)그래서 이번 편은 MLOps 프로젝트가 어떻게 진행됐는지 그리고 후기를 풀어볼까 합니다. 끝난 지 얼마되지 않은 따끈따끈한 팀플 후기입니다.여러분은 MLOps라는 단어를 들어보셨나요? 저는 이번에 프로젝트를 시작하면서 처음 들어봤습니다. 다른 기수에서는 하지 않았던 수업과 프로젝트이고, 오직 4기(!)에서 최초로 시작했다고 하는데요. 다음 기수도 이걸 할 수 있을지는 모르겠군요. 저희의 평가에 따라서 달라지겠죠? 어쩌면 흔치 않은 수업이였고, 프로젝트라서 더욱 남길 가치가 있는 것 같습니다. 인공지능이 핫하게 떠오른 지가 얼마되지 않은만큼, MLOps라는 분야도 막 태어나 커져가는 신생 분야라고 할 수 있.. 더보기
판다스 | 조건에 따라 데이터 삭제, 중복 데이터 삭제 원하는 조건에 맞춰서 데이터를 삭제해보자.일단 원본 데이터를 카피해서 df로 저장하고 describe를 해서 어떤 조건을 줄지 확인했다. 층에 min 값이 -4가 찍혀 있다! 지하 4층...?#0층 이하인 아파트 거래 개수df[df['층']-1층까지는 반지하(?)느낌으로 말이 되는 것 같은데, -2층부터는 뭔가 이상하다. df[df['층']2]로 찍힌 아파트명을 보니 모두 같은 아파트였고, 네이버 부동산으로 확인해봤는데 2층부터 시작이다. 확실히 지하는 없는 걸로. 잘못 쓴 것 같다. 만약 이 값을 지우고 싶다면? df = df[df['층']-2를 2로 변경하고 싶다면?'''df['층'] == -2으로 '층' 열의 값이 -2인 모든 행을 선택loc[]를 사용하여 선택된 행의 '층' 열 값을 2로 변경대규.. 더보기
판다스 | 결측치 제거팁 아파트 실거래가 데이터셋을 가지고 판다스 연습하던 과정 중컬럼 중 is_test라는 컬럼이 테스트셋과 트레인셋을 구분하고 있었다. 이때, 테스트셋에서만 결측치, 그 중에서도 'x' 컬럼에 있는 결측치를 제거하고 싶은 경우.참고로 is_test는 0과 1 두 개로만 구성되어 있고, 결측치가 없다. concat[concat['is_test'] == 1]['x'].isnull().sum()를 하면 is_test가 1인 데이터의 x 컬럼 결측치가 148이 나온다. is_test가 0인 데이터 중에서 x 컬럼 결측치만 제거한다면 is_test가 1인 데이터 중의 결측치 148개는 남아있어야 한다. 그런데 처음에 concat_xclear = concat[concat['is_test'] == 0].dropna(sub.. 더보기
아파트실거래가 예측 코드에 MLflow 덧붙이기 +추가공부하면서 알게됐는데, 범주형 변수들 인코딩하는거!! train, test 나눈 다음에 해야한다!  저번 프로젝트를 제대로 정리하고 공부해야하는데 또 다른 새로운 프로젝트를 시작해야하는 상황이다. ㅋㅋㅋㅋㅋ이런게 부트캠프인가봐.제대로 정리하기 전에 일단 코드라도 옮겨놓으면서 잠시 복습해보았다. 1. 데이터 불러오기아파트실거래가 데이터와 우리팀에서 몇 가지 피쳐를 덧붙인 최종 파일 real_final.csv를 불러온다. (test데이터와 train데이터가 합쳐져 있고, is_test가 0이면 train, 1이면 test로 구분되어 있다.) 그리고 데이터 내 피쳐들을 보면서 몇 가지 조정을 해준다. (해제사유발생일은 0 또는 1로 바꿔준다거나, 구매당시의 연식을 나타내는 피쳐를 파생변수로 만들어준다거나.. 더보기