본문 바로가기

반응형

전체 글

(72)
모델 학습 및 추론 과정(논리 흐름도) 개요 코드에만 매몰되어 있다보니까 큰 그림을 놓치고 있는 것 같아서 정리 [파이토치 학습과정] 위 모델 학습 플로우를 수도 코드를 작성해보자 # 필요한 패키지 import # hyperparameter 선언 # 선언한 hyperparameter 를 저장 # 데이터 불러오기 # dataset 만들기 & 전처리하는 코드 # dataloader 만들기 # AI 모델 설계도 만들기 (class) # init, forward 구현하기 # AI 모델 객체 생성 (과정에서 hyperparameter 사용) # loss 객체 생성 # optimizer 객체 생성 # ------- 준비단계 끝 -------- # ------- 학습단계 시작 -------- # loop 돌면서 학습 진행 # [epoch]을 학습하기 위해..
경사하강법(Gradient Discent) 배경 1차원 선형 함수에 대해서 직관 + 수동적인 방법으로 선형모델의 w, b 값을 찾아보았었다 그 과정에서 손실(loss)값이 줄어드는 방향으로 진행하였고 이것은 곧 선형대수에서 말하는 함수의 편미분(기울기) 값이 0인 부분을 찾는다는 것을 뜻한다 따라서, 이번엔 경사하강법(Gradient Descent)을 사용하여 모델을 트레이닝시켜보도록 한다 경사하강법(Gradient Descent) f(x), f^(x) 를 비교하여, 손실 경향성(기울기)을 이용, 극값(global minimum)을 찾기 위한 방법론 → 함수의 편미분(기울기)를 이용하므로 직관적이고 적용하기 쉽다는 장점 → 단, epoch(세대) 이 진행되는 과정에서 학습률(learning rate)을 얼마나 반영할지, 다차원 함수의 경우 극값을..
Ubuntu Swap file * 상황 프리티어 인스턴스(t2 micro. 1core/1GB) 사용중에 memory 가 부족한 경우에 스왑을 추가해서 어느정도 해소할 수 있다. 주로 테스트 목적으로 사용할 인스턴스이므로 스왑 사용해도 크게 지장이 없다. SwapFaq - Community Help Wiki (ubuntu.com) cat /proc/swaps sudo dd if=/dev/zero of=/mnt/4GiB.swap bs=1024 count=4194304 sudo chmod 600 /mnt/4GiB.swap sudo mkswap /mnt/4GiB.swap sudo swapon /mnt/4GiB.swap echo '/mnt/4GiB.swap swap swap defaults 0 0' | sudo tee -a /etc/fstab..
데이터 엔지니어 기술 면접 질문 정리 * 데이터 엔지니어 기술 면접 질문들에 대해 정리 * 자신의 이력서 기반된 질문이나, 데이터 엔지니어링&CS 에 관해 공통되는 질문들이 많기 때문에 회사별로 정리하진 않음 1. 자기 소개(or 커리어 패스) 게임 회사에서 총 7~8년 정도 경력 게임 서버를 하면서 웹서버나 디비같은 백엔드 전반적인 역량을 쌓았고, 레디스, 엘라스틱서치같은 nosql 경험 이후 데이터 엔지니어로 전향 및 다른 데이터 도메인에 적응 대용량, 비정형 데이터들을 다루기 위해 병렬, 분산, 배치 처리와 같은 개발이나 솔루션을 많이 사용 팀 작업의 히스토리 파악하는걸 중요시 그걸 기반으로 조직에 필요한 새로운 프로그램 개발이나 중요한 업무인데 우선순위가 높지 않아서 매번 밀리는 업무의 자동화 등 팀 전반적인 생산성에 도움이 되는 업..
[5.4] analyzer Analysis 정의 : 검색에 사용할 역색인을 생성/추가하기 위해서 text를 토큰화하는 작업. * 아날라이저는 index time 또는 search time 에 built-in 된거나 혹은, 인덱스 단위로 custom analyzer 를 적용할 수 있다. - index time analysis 예시 PUT my_index { "mappings": { "my_type": { "properties": { "title": { "type": "text", "analyzer": "standard" } } } } } -- search text"The QUICK brown foxes jumped over the lazy dog!" -- inverted index result [ quick, brown, fox, ..
[5.4] 데이터 자료형 [사전 지식] 인덱스에 매핑하는 방법은 크게 2가지 -> 인덱스 생성 과정 혹은 새로운 필드가 입력될 때. -> 후자의 경우 dynamic mapping 인데 성능적인 면이나, 기존 데이터 스키마를 벗어나면서 데이터를 집어넣는 상황이라는 것에 의문이 있어서 스킾함. [타입] - text (2.0 이전 es 에선 string) -> "analyzed" 인덱싱 되기 전에 term 단위로 쪼개는 analyer 에 의한 분석 과정을 의미(역색인). text 필드는 정렬이나 집계에 사용하지 않음. 옵션 boost: 검색어에 가중치 부여 eager_global_ordinals : 디폴트 false. 빈번히 집계에 사용되는 terms 라면 true 하는게 좋음 fielddata: 역색인 구조에서, 데이터 값을 집계,..
Line Messaging API 사용 * 코딩 -> 테스트 -> 배포 -> 테스트 단계에서, fpm warning | Fatal 로그 등 이슈가 생겨야지만 뒤늦게 에러 핸들링하는 문제가 생김. 최소한 테스트 단계 혹은, 이슈 사항을 푸시받아서 고칠 수 있는 계기가 필요. 그래서 Line Messaging API 를 이용해서 fpm 경고 이상의 이벤트가 발생시, 개발자 방에 에러 로그를 푸시하는 것을 구현. 삽질 후, 정리하는 간략한 절차. 1. Line Developer 에서 계정 생성후, Messaging API Service 를 등록. - 계정 생성, 서비스 등록 등 기본적인 내용은 쉽게 찾아 볼 수 있어서 어렵지 않았음. 2. ssl 인증서 준비 - Line Messaging API 서비스는 신뢰받는 SSL 인증서가 필요하기 때문. s..
블로깅전 url 기록 http://wishgone.tistory.com/91 http://blog.scottlogic.com/2016/11/22/using-rally-to-benchmark-elasticsearch.html https://www.elastic.co/kr/blog/announcing-rally-benchmarking-for-elasticsearch

반응형