반응형

분류 전체보기 60

Hugging Face / NLP Preprocess (전처리) 튜토리얼 (Pytorch)

Preprocess 모델에 데이터를 직접 사용하기 전 우리는 전처리가 필요합니다. 해당 데이터들은 numbers 혹은 tensor로 assembled된 형식 등 이어야 합니다. Tokenize pretrained tokenizer를 불러옵니다 from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("bert-base-cased") encoded_input = tokenizer("Do not meddle in the affairs of wizards, for they are subtle and quick to anger.") print(encoded_input) """output {'input_ids': [101, 2..

Hugging Face / AutoClass 로 pertained instance 불러오기 (Pytorch)

AutoClass AutoClass는 주어진 체크포인트(Check point)에서 올바른 아키텍처(Architecture)를 자동으로 추론하고 로드합니다. from_pretrained 메소드를 사용하면 모든 아키텍처에 대해 pretrained 모델을 신속하게 로드할 수 있으므로 처음부터 모델을 교육하는 데 시간과 리소스를 투자할 필요가 없습니다. * 아키텍처는 모델의 뼈대임을 의미하고, 체크포인트는 주어진 아키텍처에 해당하는 가중치입니다. AutoTokenizer from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased") sequence = "In a hole in the groun..

Network / HTTP vs HTTPS 개념 차이

HTTP : Hyper Text Transfer Protocol - 서버 / 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜 인터넷에서 Hyper Text 를 서로 주고 받기 위한 통신 규약으로 80번 포트를 사용하고 있다. (default port:80) application 레벨의 프로토콜로 TCP/IP 위에서 작동한다. 또한 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성된다. HTTP 는 암호화 되지 않은 평문 데이터를 전송하는 프로토콜인데, 개인정보나 암호 등을 주고 받는 과정에서 leak 문제가 생길 수 있다는 점이 대두되며 이를 해결하기 위해 암호화-복호화 기능이 추가된 HTTPS가 등장하게 되었다. HTTPS : Hype..

Pytorch 모델 저장하기 & 불러오기

모델을 저장하고 불러올 때는 3가지의 핵심 함수가 있습니다. 1. torch.save() : 직렬화된 객체를 디스크에 저장합니다. 이 함수는 Python 의 pickle을 사용하여 직렬화하고 객체를 저장합니다. 2. torch.load() : 객체 파일을 역직렬화하여 메모리에 올립니다. 이 함수는 데이터를 장치에 불러올 때도 사용합니다. 3. torch.nn.Module.load_state_dict : 역직렬화된 state_dict를 사용하여 모델의 매개변수를 불러옵니다. state_dict 이름에서도 알 수 있듯이 해당 모델의 state(상태)를 dict(딕셔너리) 형태로 가지고 있는 객체입니다. 만약 예를 든다면 다음과 같이 나올 수 있습니다. Model's state_dict: conv1.weigh..

PYTHON - pickle 기본 사용법

텍스트 상태의 데이터가 아닌 파이썬 객체 자체를 파일로 저장하는 것 기존의 raw file을 파싱하여 매번 필요한 부분만을 빼내서 사용하는 것이 반복되면 효율적이지 못한 작업이 될 수 있습니다.그래서 미리 필요한 부분을 특정 자료구조로 저장해 놓을 수 있습니다.그런데 객체 자체를 파일에 쓸 수 없기 때문에pickle 모듈을 이용해 객체 자체를 바이너리로 저장하는 것 입니다. import pickle my_list = ['a','b','c'] # write binary open("data.pickle","wb") as fw: pickle.dump(my_list, fw) # read binary open("data.pickle","rb") as fr: data = pickle.load(fr) print(da..

PYTHON/ETC 2022.08.05

Gradient Descent / Stochastic Gradient Descent 개념적 비교

* 각각의 개념들에 대해선 다른 게시글에서 확인바랍니다 * * 이 게시글은 두 알고리즘을 비교하기 위해 만들어졌습니다 * Gradient Descent (GD) : 경사 하강법 - 1차 근삿값 발견용 최적화 알고리즘 - 기본 개념은 함수의 기울기(approximate gradient)를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것. Stochastic Gradient Descent (SGD) : 확률적 경사 하강법 - 학습 데이터셋에서 무작위로 한 개의 샘플 데이터 셋을 추출하고, 그 샘플에 대해서만 기울기를 계산하는 것이 특징. mini-Batch Gradient Descent (mini-BGD) : 미니 배치 경사 하강법 여기서 mini-BGD가 나오는 이유는 너무 자..

반응형