인공지능 (기본 딥러닝)36 [wandB 사용법] wandb사용으로 파라미터 최적화 ► wandb 사용 목적 : 모델 (하이퍼)파라미터 최적화 용도 = MLOps ► 본 글에서 사용 목적 : Transformer 모델의 Attention head와 Encoder block 수에 따른 최적화를 찾기 위한 용도 공식 docs: https://docs.wandb.ai/guides/sweeps/sweep-config-keys(여기에 들어가면 더 필요한 세부적인 파라미터를 확인 할 수 있음) ✓ 아래의 사진은 Sweep 를 위한 기본적인 옵션이다. - Sweep : 하이퍼 파라미터를 최적화하는 도구→ 위의 파라미터를 보면 required와 아닌것으로 구분할 수 있다.method : 아래 3가지를 지원한다. 각각의 정의와 필요한것을 선택하는 기준은 타 블로그에서 개념을 찾아보면 좋을듯하.. 2024. 11. 7. [Huggingface Trainer, SFTTrainer, TrainingArguments 설명 및 코드] LLM,MLLM,LMM 등의 모델등의 발달로 인해 Training을 좀더 편하게 할 수 있는 Trainer, SFTTrainer 방법이 주로 사용된다. ► Trainer와 SFTTrainner 는 Transformers 모듈 내부의 학습하는 class이다.FeatureTrainerSFTTrainer(Supervised fine-tuning of pre-trained models)PurposeGeneral –purpose training from scratchSupervised fine-tuning of pre-trained modelsCustomizationHighly customizableSimpler interface with fewer optionsTraining workflowHandles co.. 2024. 10. 23. [Multi GPU] MultiGPU를 통한 학습 1. 핵심 코드import torch.nn.parallel# deivce_ids : 학습에 사용할 GPU# oudput_device : 출력이 모이는 GPU, 즉 loss 계산과정을 output_device에서 하겠다는 의미.resnet_model = nn.DataParallel(resnet_model, device_ids=[0,1,2],output_device=2) - 작동원리. 1. 매 iteration마다 Batch를 GPU의 개수만큼 나눈다. (scatter) 2. 모델을 각 GPU에 복사함. (replicate) 3. 각 GPU에서 forward 진행. 4. 각 GPU에서의 출력을 하나의 GPU로 모음 (gather) 1. 하나의 GPU에서 out.. 2024. 8. 27. [LoRA] Low-Rank Adaptation of Large Language models 목적 : Pretrained 된 대규모 언어 모델을 효율적으로 Finetuning 하기 위함특징 : 모델의 구조를 변경하지 않고, 기존의 가중치 행렬에 저차원 행렬을 더하는 방식. 2024. 8. 22. [CNN-Pytorch, Finetuning] 커스텀 데이터 활용 이미지 분류 예제 코드 설명 소개 : 사람의 action 분류를 위해 Dataset을 통해 간단하게 코드를 작성하였다. 사람의 관절값을 추출하여 Human action recognition을 할 수 있지만, 여기서는 사람의 action자체를 이미지 분류 모델에 넣어서 분류 모델을 만듬. 코드 개요 : 모델을 만들기보다는 Finefuning을 수행함. , Early stopping 은 수행하지 않음. 난이도 : ★☆☆☆☆ 주의: Kaggle Dataset에서 잘못된 파일명(?)이 있음, 그부분을 삭제해주고 시작해야함. ex)파일명뒤에 (1) 이렇게 붙어있음. Dataset 출처 : https://www.kaggle.com/datasets/meetnagadia/human-action-recognition-har-dataset Hu.. 2024. 6. 23. [import os] 파일 호출, 삭제, 생성 명령어. 1. 파일 경로 join을 활용한 호출.import ostest_path = './dataset/video'file_name = 'basketball_1'path= os.path.join(test_path, 'YouTubeClips', file_name) 2. 특정 path 삭제. -주의사항 : shutil.rmtree 는 path 하위 디렉토리의 모든것을 삭제함으로 주의 해야함.import osif os.path.exists(path): shutil.rmtree(path) 3. 폴더 생성. - os.makedirs 는 하위 디렉토리의 폴더까지 한번에 생성할 수 있음. ex) mkdir의(폴더 생성 명령어) 경우 path= './a/b' 를 하면 a폴더가 없다면 b를 생성.. 2024. 5. 26. 이전 1 2 3 4 ··· 6 다음