일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제
- CSS
- 네트워크
- 프로그래밍
- 딥러닝
- google coding competition
- 프로그래머스
- 코딩 테스트
- 동적 프로그래밍
- PYTHON
- 그래프
- DFS
- 알고리즘
- 리눅스
- BFS
- 코딩
- kick start
- 킥스타트
- OS
- nlp
- 파이썬
- 동적프로그래밍
- AI
- 순열
- linux
- 코딩테스트
- dp
- 브루트포스
- 백준
- 구글 킥스타트
- Today
- Total
목록분류 전체보기 (312)
오뚝이개발자
문제 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 나의 풀이 우선순위큐를 사용해서 풀면 된다. 큐에 삽입할 때는 시간이 빠른 순서로 정렬될 수 있도록 (시간, 위치)의 순서쌍을 넣어준다. 주의할 점은 삽입하는 순서인데, x 위치에서 가능한 총 경우의 수는 x-1, x+1, 2x의 세 가지이다. 이 때 순간이동을 하는 경우 소요되는 시간이 0초로 가장 짧으므로, 2x의 위치를 먼저 삽입한 뒤에 방문검사를 해서..
허깅페이스의 transformers 패키지를 사용하는데 early stopping 방식으로 학습을 시키고 싶을 땐 아래와 같이 early stopping callback을 넣어주면 된다. from transformers import EarlyStoppingCallback batch_size = 3 args = Seq2SeqTrainingArguments( "saved_model", evaluation_strategy = "steps", eval_steps = 5, load_best_model_at_end = True, learning_rate=2e-5, per_device_train_batch_size=batch_size, per_device_eval_batch_size=batch_size, gradie..
한국 시간으로 지난 주 일요일(3.20)에 있었던 킥스타트 Round A에 참가했다. 최종적으로는 4문제 중 2개를 풀었다. 그래도 지난 번 처음 참가했을 때 1개밖에 풀지 못했던 것과 비교하면 나름 선방한 것 같다. 1, 2번 문제는 어렵지는 않았는데 시간초과가 나지 않도록 잘 짜는 것이 관건이었다. 1. Speed Typing 문제 :https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb33e/00000000009e7021 Kick Start - Google’s Coding Competitions Hone your coding skills with algorithmic puzzles meant for students and th..

연구 주제와 관련하여 텍스트에서 키워드를 추출해야 할 일이 있었다. 이를 위해 BERT embedding을 사용한 KeyBERT를 써보았는데 관련하여 방법을 정리해둔다. 여기서 설명하지는 않지만 여러 문서에서의 키워드를 추출하는 방법, 키워드 추출의 diversity를 부여하는 방법 등이 공식 문서에 나와있다. 이 외에도 다양한 옵션을 사용할 수 있다. 공식 문서는 이곳을 참고하면 된다. 사용 방법 사용 방법은 간단하다. from keybert import KeyBERT doc = """ Supervised learning is the machine learning task of learning a function that maps an input to an output based on example i..
허깅페이스의 transformers 패키지를 사용할 때 custom loss로 최적화를 해야하는 경우가 있다. 이럴 땐 Trainer클래스를 상속받아 새로운 CustomTrainer 클래스를 만들고 그 안의 compute_loss 함수를 새로 작성해주면 된다. from torch import nn from transformers import Trainer class CustomTrainer(Trainer): def compute_loss(self, model, inputs, return_outputs=False): labels = inputs.get("labels") # forward pass outputs = model(**inputs) logits = outputs.get("logits") # com..

많이들 헷갈리는 개념 중 하나가 바로 배치(batch)와 에폭(epoch)이다. 둘은 서로 다른 개념이지만 모두 학습의 성능을 결정하는 중요한 요소이다. 배치와 에폭의 개념 딥러닝에서 모델이 전체 학습 데이터를 한 번씩 본 것을 '에폭을 돌았다'라고 표현한다. 모델은 가중치를 한 번 업데이트하기 위해 한 개 이상의 훈련 데이터 묶음을 사용하는데, 이것을 배치라고 하고 이 묶음의 사이즈가 바로 배치 사이즈(batch size)이다. 따라서 배치 사이즈에 따라 에폭 당 훈련 횟수가 달라진다. 배치 크기와 모델 훈련 시간의 관계 100개의 훈련 데이터를 가지고 80에폭 동안 훈련시킨다고 가정해보자. 배치 크기=1이면, 모델은 1에폭 당 100번 훈련(가중치 업데이트), 총 8000번 훈련 배치 크기=10이면,..
Hugging Face – The AI community building the future. The AI community building the future. Build, train and deploy state of the art models powered by the reference open source in machine learning. huggingface.co 허깅페이스(Huggingface)는 사람들이 모델을 만들고 학습시켜 올려둘 수 있는 저장소이다. 기본적으로는 git을 기반으로 돌아간다. 허깅페이스의 transformers 모듈을 사용하면 자신에게 필요한 여러 모델들을 손쉽게 가져다 쓸 수 있다. 여기에 자기가 만들어 학습을 시킨 혹은 기존의 pre-trained된 모델을 가져다가..
문제 https://codingcompetitions.withgoogle.com/kickstart/round/00000000004361e3/000000000082b933#problem Kick Start - Google’s Coding Competitions Hone your coding skills with algorithmic puzzles meant for students and those new to coding competitions. Participate in one round or join them all. codingcompetitions.withgoogle.com 나의 풀이 보통 이런 문제는 그리디 방식으로 풀면 되고, 시간복잡도를 고려하면 중간의 range가 아닌 각 구간의 양 끝단에만..