본문 바로가기

728x90
반응형

전체 글

(160)
[Python] 백준 18870번, 좌표 압축 1. 알고리즘 여기를 클릭하면 문제를 확인할 수 있다. 문제에 따르면 원본 데이터에서 중복되는 수를 없애고 숫자가 작은 순서대로 번호를 매겨 저장한 압축 데이터를 생성한다. 그런 다음에 원본 데이터의 값들을 압축 데이터에 있는 값으로 변환해 출력해주면 된다. 2. 코드 import sys IN = sys.stdin.readline if __name__ == "__main__": N = int(IN()) arr = list(map(int, IN().split())) sort_arr = sorted(set(arr)) # 중복된 수 제거 후 정렬 dic = {sort_arr[i]: i for i in range(len(sort_arr))} # 좌표 압축 사전화 s = "" # 문자열로 연결 for i in a..
[Wandb] 손쉽게 실험 결과 기록 및 실험 환경 보존 딥러닝 실험을 진행하다 보면 학습이 잘 되는지 안 되는지 중간중간 모니터링 할 필요가 있다. 그래서 텐서 대시보드 등 다양한 툴이 존재하는데 이번 STS 대회를 진행하면서 Wandb(Weight & Biases)를 사용해봤는데 매우 유용한 툴이다. 개인용으로는 무료로 사용할 수 있어 접근성 또한 편리하며 협업하기 매우 쉽다. 우선 여기에서 회원가입을 진행하자. 또한, pytorch lightning 라이브러리랑 연결해서 사용하는 방법을 공유하겠다. 1. Wandb 설치 pip install wandb 2. 코드 작성 import wandb import pytorch_lightning as pl # wandb 설정 wandb.init(name='{실험명}', project='{프로젝트 이름}', entit..
[Streamlit] 손쉽게 프로토타입 만들기 인공지능 프로젝트를 진행하다가 마무리 단계에 도달아면 결국에는 웹이든 앱이든 실행 가능한 곳에 올려놔야 다른 사람에게 보여줄 수 있다. 즉, 프로토타입이 있어야 공모전에 나가든 대회를 나가든 다른 사람한테 이야기 할 수 있다. 그래서 네이버 부스트캠프 ai tech에서 구인구팀 할 때 플랫폼 개발이 가능한 사람은 좀 더 이익을 본다. 물론 나도 컴퓨터공학과 소프트웨어공학 출신으로 대부분의 인공지능 프로젝트에서 마지막 프로토타입 개발을 수행하는 역할을 맡았다. 근데 이게 은근 시간을 많이 잡아 먹고 내가 결국에는 플랫폼 개발을 하려고 인공지능 프로젝트를 한건가?라는 의문이 가끔 든다. 그래서 개인적으로 프로토타입 제작 역할은 별로 선호하지 않는데 마침 부스트캠프 교육 과정에서 손쉽게 프로토타입을 만들어주는..
[티스토리] LaTex 설정해서 수식 표현하기 데이터와 인공지능을 주제로 다루는 티스토리 블로그라면 수식은 단연코 있어야 할텐데 아무 설정을 하지 않으면 티스토리에서 수식을 표현할 수 없다. 그래서 수식 표현을 위해 가장 많이 사용되는 LaTex를 설정하는 방법을 공유하려고 한다. 1. 스킨 편집으로 이동 [블로그 설정] -> 왼쪽 사이드 [꾸미기] -> [스킨 편집] 2. html 편집으로 이동 3. 사이의 아래 코드 입력 4. 테스트 $y = x + b$ $y = x + b$
[논문 리뷰] Efficient Estimation of Word Representations in Vector Space 문제점 및 기여 부분 텍스트 데이터를 벡터화 하기 위해 가장 많이 사용된 One-Hot Encoding 방식 대신 새로운 방법론인 CBOW와 Skip-gram을 제시하며 Word2Vec의 대표적인 알고리즘으로 자리잡았다. 목차 Introduction Models Results 1. Introduction 텍스트 데이터는 단어 혹은 문장이기 때문에 바로 학습할 수 없다. 그래서 학습을 위해 범주형 데이터를 수치형 데이터로 변환해줘야 하는데 기존에는 One-Hot Encoding 방식이 가장 많이 사용됐다. One-Hot Encoding이란, 표현하고자 하는 단어를 1, 나머지 단어를 0으로 채운 (1, 단어 개수) 크기의 벡터이다. 위에 그림처럼 사과~참외까지의 거리가 100이라면 단어 개수는 100개이다..
[네이버 부캠] 프로젝트1: 문장 간 유사도 측정(STS) 대회 정리 네이버 부스트캠프 ai tech 교육 과정에서 총 5번의 프로젝트를 수행한다. 4번의 프로젝트는 캠프에서 주제와 데이터를 제공해줘 AI Stages 플랫폼을 통해 대회 형식으로 진행되고 마지막 프로젝트는 최종 프로젝트로 팀 내에서 기획부터 구현까지 수행하는 걸로 알고 있다. (아직은 최종 프로젝트에 대한 정보가 부족함 ㅎ) 암튼 오늘은 첫 번째 프로젝트를 회고하겠다. CV, NLP, ReySys별로 주제는 다르며, 나는 NLP 과정을 수료중이기 때문에 문장 간 유사도 측정(Semantic Text Similarity; STS)을 주제로 대회를 진행했다. 우리는 public 5위, private 10위로 마무리 했으며(private 6위인데 최종 파일 잘못 제출함ㅜ) 깃허브 레파지토리 주소는 여기다. 1...
[Git] 특정 버전으로 되돌리기 Git을 사용해 협업하다 보면 이전 commit으로 되돌아갔다가 다시 작업을 수행하거나 영영 프로젝트를 되돌려야 할 때가 있다. 그래서 일시적으로 특정 버전으로 되돌아가는 방법과 영구적으로 특정 버전으로 되돌아가는 방법을 공유하려고 한다. 되돌아가기 위해서는 어떤 지점으로 돌아갈 것인지 명시해줘야 하는데 두 가지로 명시 가능하다. 첫 번째는 최근 커밋을 기준으로 숫자를 지정해줘 그 숫자만큼 돌아가는 것이고 두 번째는 commit 해시 코드를 통해 원하는 지점으로 바로 이동하는 것이다. 그래서 첫 번째 방법은 최근으로 돌아갈 때 사용하면 좋고 두 번째 방법은 먼 과거로 돌아갈 때 유용하다. 1. 일시적으로 이전 버전으로 되돌아가기 # 최근에서 n만큼 돌아가기 git checkout head~{n} # 해시..
[알고리즘] 그래프 탐색 기법을 코드로 이해하기 1. 그래프 그래프는 광범위한 분야에서 활용되고 있는 자료구조이다. 그러다보니 코딩테스트 문제 출제 1순위이다. 그래프는 정점과 간선의 집합으로 하나의 간선은 두 개의 정점을 연결한다. 그래프는 G=(V, E)로 표현하는데 간선에 방향이 있는 그래프를 방향그래프, 간선에 방향이 없는 그래프를 무방향그래프라고 한다. V = 정점의 집합, E = 간선의 집합 2. 그래프 탐색 그래프에서는 너비우선탐색(BFS)과 깊이우선탐색(DFS) 방식으로 모든 정점을 방문할 수 있다. 2.0 그래프 코드 G = { 1: set([3, 5]) 2: set([3, 4, 6]), 3: set([1, 2, 6]), 4: set([2]), 5: set([1]), 6: set([2, 3]) } 2.1 BFS BFS는 큐를 사용해 임..

728x90
반응형