본문 바로가기

딥러닝

(21)
Wandb: ML process 관리 개인 공부를 하면서, ML 프로젝트를 진행하고 싶을 때가 많다. 원래의 , 나는 이 프로젝트 진행을 제대로 못하고 공부만 하거나, 공부는 등한시하고 프로젝트에만 몰두하는 프로젝트를 잘 못하는 유형이엿다. 하지만, 백그라운드로 학습을 시키고 , 나는 내 공부 할거하는 효율적인 프로세스를 알게 되었다. 그중에서도, Wandb를 이용하면 효율적으로 ML 프로세스를 관리 할 수 있다. Sweeps Quickstart - Documentation (wandb.ai) Sweeps Quickstart docs.wandb.ai 위 사이트에 사용법이 전부 나와있다. 진짜 간단하게 프로세스는 3단계로 나뉜다. 1. Wandb Login & Set Project Name 2. Run Wandb Agent 이를 Command..
HuggingFace:나만의 Transformer 모델 만들기 개요 Huggingface Autoclass Trainer 개요 BcAitech에서 KLue 데이터로 자연어 처리 대회를 시작하였다. Task에 대해서 Define 하고, Solution을 세운다음에 들어가는게 원칙이지만, 머신을 쉬게 할 순 없기에 , BaseLine Code를 돌리면서, Huggingface에 대해 알게 되었다. Huggingface Huggingface는 facebook 연구팀에서 만든 Transformer 기반 모델들과 Train모듈(Trainer)를 구현해놓은 모듈들이다. Transforemr 기반 모델을 만들기 위해서는 이만한 모듈이 없다. Autoclass BaseLine 코드가 Autoclass 기반으로 작성이 되어있다. 이 Autoclass는 여러 Transformer(B..
Recursion using pass by reference 개요 What is it? memory allocation call frame recursion 에서의 주의점 recursion시 변수 메모리 마무리 개요 여러 코딩테스트 문제를 풀다 보면, 재귀를 사용하는 경우가 많습니다. 재귀를 사용하여 로직을 짜게되면, 이전 call frame에서의 state가 보존이 안되는 경우가 저는 많았습니다. 이는 pass by reference에 대하여 명확히 인지하지 않고 로직을 작성해서 발생한 일입니다. what is it reference 를 변수에 assignment 하게 되면 , 메모리에 가리키게 된다고 표현합니다. 이는 변수를 box라 표현하는 C스러운 표현이라고 생각합니다. Fluent Python 이라는 책에서는 이는 sticker 를 붙인다고 표현합니다. ..
Pytorch:hooking,nn.Module,autograd에 대한 고찰 부스트캠프 ai테크 2기 첫 P스테이지인 이미지 분류 대회가 열렸습니다. 이번 대회의 주제는 'COVID 19 Mask 탐지' 였습니다. 과거, 이미지 분류 대회(2021 Programmers 머신러닝 Dev-Matching)를 참가했을때에는 , pretrained_model을 keras에서 불러와서 , 실험-피드백-실험 과정을 반복하면서 성적을 내는데에 집중을 하였습니다. 하지만, 이번 대회는 기간이 몇시간이 아닌 2주였고, pretraiend_model을 이용하는 것은 많이 해보았기 때문에 , 성적이 저조하더라도 직접 모델을 제작하여 , 대회에 참여하고 싶었습니다. 1주차에서는 주어진 미션을 수행하였고, 2주차에는 1주차에서 나온 결과물에서 발생한 문제점을 해결하고자 시도했습니다. 1주차 모델의 학습..
Pytorch: Torchviz 딥러닝 모델을 작성하게 되면 backpropagation을 해야합니다. 간단한 모델이라면, backward hook을 이용해서 디버깅 할 수 있지만, backward hook은 각 Tensor,혹은 Module에 대한 back propagation(backward)노드 에 대한 input,output gradient 만 구하게 됩니다. 상당히 비효율 적이기에 , backpropagtion으로 구한 gradient가 잘 전달되는지 확인할 다른 방법이 필요합니다.
시각화:Text,Color 데이터 분석을 위한 툴들은 여러가지가 있습니다. Seaborn,plotly,ggplot,pygal... 데이터에 대해서 분석을 하고 , 목적에 맞게 시각화를 한다면 전달하고자 하는 정보를 충분히 전달할 수 있습니다. 분명, 제일 중요한것은 분석을 하기위한 "통찰력" 인것은 분명합니다. 하지만, "글꼴","글씨체","색상"등의 시각정보로 전하고 싶은 내용을 통찰력을 이용하지 않고 전달할 수 있습니다. 파이썬에서 이를 어떻게 "조정"하는지 알아보도록 하겠습니다. 1.Text 2.Color
빅데이터,스트림데이터 in Python 파이썬은 인공지능(머신러닝,딥러닝)에서 굉장히 Hot 한 언어이다. 벡터,행렬 같은 머신러닝에 필요한 연산들을 제공해주는 라이브러리가 있기 때문에 , 그래프를 시각화해서 볼 수 있기 때문에, 이를 기반으로 여러 딥러닝 프레임워크들이 제공 되어진다. 딥러닝이 머신러닝에 비해 본격적으로 주목을 받게 된것은 빅데이터에서의 퍼포먼스가 머신러닝 보다 더 뛰어나다는 연구결과가 있고 나서이다. 그리고, 현재 딥러닝 프로세스는 한번에 데이터를 저장한 다음에 처리하는 것이 아니라 , 지속적으로 데이터가 들어오면서 동시에 처리하고 이를 학습에 사용하는 Cycle의 형태이기 때문에 , 스트림 데이터에 대한 취급도 중요합니다. (본 글은, 빅데이터 스트림 데이터에 대한 개념이 있다 가정하고 진행) 즉, 파이썬에서 빅데이터,스..
딥러닝에서의 파이썬 위 카테고리는 단순 파이썬이 아닌 딥러닝관점에서 왜 파이썬이 좋은지 알아보는 카테고리이다.