일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 브루트포스
- DFS
- 백준
- nlp
- google coding competition
- kick start
- OS
- 딥러닝
- 프로그래밍
- 코딩
- 운영체제
- 알고리즘
- 코딩테스트
- CSS
- 순열
- 킥스타트
- 구글 킥스타트
- 코딩 테스트
- 동적프로그래밍
- PYTHON
- BFS
- 파이썬
- 리눅스
- dp
- linux
- 그래프
- AI
- 동적 프로그래밍
- 프로그래머스
- 네트워크
- Today
- Total
목록AI/AI 개발 (18)
오뚝이개발자
"Hello, David. I made some cookies. Do you want som?" 위와 같은 영어 텍스트를 문장 단위로 분할하려면 어떻게 해야할까? 자연어 처리 toolkit인 NLTK에 바로 이러한 기능이 있다. 먼저 커맨드 창에 아래의 명령어를 입력하여 nltk를 설치해주어야 한다. pip install nltk python -m nltk.downloader all from nltk import sent_tokenize text = "Hello, David. I made some cookies. Do you want som?" tokenized_text = sent_tokenize(text) print(tokenized_text) # ['Hello, David.', 'I made som..
허깅페이스의 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..

연구 주제와 관련하여 텍스트에서 키워드를 추출해야 할 일이 있었다. 이를 위해 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..
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된 모델을 가져다가..
conda로 가상환경을 만들어 사용하다가 해당 환경의 이름을 변경해주고 싶을 때가 있다. 하지만 아쉽게도 conda 환경의 이름을 rename해주는 방법은 없다. 대신 해당 conda 환경을 clone한 뒤에 기존의 환경을 remove해주어야 한다. 아래의 커맨드를 차례로 입력해주면 된다. conda create --name new_name --clone old_name conda remove --name old_name --all new_name 부분에 새로운 가상환경 이름을, old_name 부분에 제거할 기존의 가상환경 이름을 넣어주면 된다.

GPU 환경세팅을 하면서 정말 삽질을 많이 했다....하....이게 참 버전 간 호환성을 맞추는 것도 일이다. 잘못 설치했다가 GPU를 인식하지 못해서 GPU 환경에서 돌리지 못한 경우도 생겼다. 아나콘다 설치 아나콘다는 AI나 데이터 분석에 필요한 여러 라이브러리들을 묶어둔 패키지이다. 이를 다운받아서 사용하면 일일히 필요한 라이브러리들을 설치하지 않아도 되서 매우 편하다. https://www.anaconda.com 에 들어가서 본인의 OS 환경에 맞는 버전을 다운받으면 된다. 중요한 것은 설치 도중 "Add Anaconda3 to my PATH environment variable"에 체크를 반드시 해주어야 한다는 것이다!!!!! conda 가상환경 만들기 conda를 사용해 가상환경을 만들어주어야..
keras를 사용해 멀티 gpu를 사용하는 방법을 알아보자. 해당 메소드는 케라스 2.0.9 버전부터 사용이 가능하니 해당 버전에 맞춰 설치해야 한다. model = Sequential() model.add(layers.LSTM(32, input_shape=(None, float_data.shape[-1]))) model.add(layers.Dense(1)) # multi-gpu 사용 from keras.utils.training_utils import multi_gpu_model model = multi_gpu_model(model, gpus=2) model.compile(optimizer=RMSprop(), loss='mae') history = model.fit_generator(train_gen,..