묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨삼각형의 실전! OpenAI Triton 초급
행렬곱 오차 문제
안녕하세요. 큰 질문은 아니고 사소한 질문일 수도 있습니다만.. 다름이 아니라, 행렬곱 강의에서 구현한 코드에서는 곱해주는 행렬 크기가 커질수록 오차가 누적되는 듯한(정확히 말하면 파이토치 내장 matmul과 계산 결과가 점점 더 달라지는듯한) 현상이 관찰되어 질문드립니다. 먼저, 실습에서 정의한 코드에서부터 x = torch.randn(16,16,device = 'cuda') y = torch.randn(16,16,device = 'cuda') a = matmul(x,y) b = torch.matmul(x,y) assert torch.allclose(a,b)torch.allclose 의 기본 인자(atol=1e-8, rtol=1e-5) 세팅에서는 assertion error가 발생하여 조건을 완화시켜야(atol=1e-5, rtol=1e-5) assertion이 통과되는 모습을 보였고x = torch.randn(2048,1024,device = 'cuda') y = torch.randn(1024,256,device = 'cuda') x, y의 크기를 이와 같이 키웠을 경우엔 atol=1e-4, rtol=1e-4로 조건을 완화시켜야 assertion을 통과하는 모습을 보였습니다. triton kernel로 구현한 행렬곱 연산과 PyTorch 내장 matmul 연산 모두 fp32로 연산이 이루어지고 있는데, 이러한 오차가 발생할 수 있는 원인에 무엇이 있는지 궁금해서 질문 드립니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
PEFT 수업에서 실습 모델 선택 기준이 궁금합니다.
안녕하세요, 제공해주신 유익한 수업 잘 듣고있습니다 🙂 현재 PEFT 부분 강의를 듣고 있는데요, 강의를 듣다가 궁금한 점이 생겼는데, 각 PEFT 방법들을 적용한 실습에서 backbone 모델과 데이터셋이 계속 바뀌는 것이었습니다.PEFT 방법과 task(dataset), backbone 모델의 조합을 어떻게 구성해서 실습을 할 지에 대한 선택 사항이 있었을 거 같은데, 선택하는데 있어서 특정한 기준이 있었는지 궁금합니다.예를 들면 아래와 같은 궁금증들 입니다. PEFT 방법 별로 잘 동작하는 task가 있는가?다양한 task에 적용이 가능하단걸 보여주시기 위해서 여러 데이터셋을 사용한 것이고, 각 데이터셋 별로 잘 동작하는 backbone 모델을 선택한 것인가?아니면 PEFT 방법과 데이터셋, backbone 모델 모두 자유롭게 선택이 가능해서 자유롭게 바꿔가면서 한 것인가?제가 LLM 공부를 갓 시작한 단계라 잘 몰라서 드린 질문일 수도 있으니 양해부탁드립니다 ㅎ
-
미해결Python을 이용한 딥러닝 활용
목소리가 중간 중간 계속 끊겨요
어디에 남길 곳이 없어 여기 남깁니다. 3번째 강의 보고 있는데 계속 음성이 끊어졌다 이어졋다 합니다. 강의는 좋은데, 녹음도 너무 울리고 끊기니 듣기 좀 힘드네요 .
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Ultralytics Yolo v3 pip dependency 오류 재발생 (pillow 버전)
안녕하세요 좋은 강의 감사드립니다.그런데 이번에도!cd yolov3;pip install -qr requirements.txt여기서 오류가 발생합니다. 그 내용은 아래와 같습니다.ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. imageio 2.31.6 requires pillow<10.1.0,>=8.3.2, but you have pillow 10.2.0 which is incompatible.저번과 같이 requirements.txt 에서 해당 내용을 주석 처리하면 되는 걸까요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
2-7번 강의 수업 자료 관련
큰 문제는 아니지만 Section2의 '[실습] PyTorch 기초 - Transforms' 강의의 수업 자료가 이전 강의의 수업 자료로 잘못 업로드 되어 있는것 같아서 질문드려봅니다!
-
해결됨실전 인공지능으로 이어지는 딥러닝 개념 잡기
경우에 따른 최적의 활성화 함수 선정하는 방법
안녕하세요 호형 선생님. 강의 잘 들었습니다. 이번 ' 개념편 4강 활성화 함수 ' 에서 질문이 있습니다. 진행하는 업무에 따라 ( 인공 신경망의 각 층에 적용하는 ) 최적의 활성화 함수가 무엇인지는 다 다를 수 있다고 하셨는데요. 그럼 그 최적의 활성화 함수가 무엇일지 미리 연역적으로 알 수 있는 방법이 있나요?( 예를 들면 , 이 문제는 이런 특징이 있으니 , 이런 특징을 잘 나타내는 어쩌구 함수를 활성화 함수로 쓰면 되겠다 등 ) 아니면 그냥 결과적으로 모든 종류의 활성화 함수를 하나하나 대입해보며 가장 좋은 성능이 나오는 함수를 선택하는 수 밖에 없나요 ? 감사합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
강의 자료 누락
안녕하세요~ 강의 자료를 살펴보니 일부 자료들이 누락되어 있거나 학습 커리큘럼과 조금 다른 챕터로 묶여있는 것 같습니다.(ex. Chapter 8 폴더가 아예 없거나, GPT 3 자료 없음 등)해당 부분 확인 부탁드립니다
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
학습시 epoch 횟수
모델 트레이닝 할때 epoch 을 최소 몇 정도로 넣어주고 학습을 시켜야 괜찮은 모델이 나오나요? 추가로 loss 는 최소 어느정도 까지 떨어져야 괜찮을 모델이 나올까요? 물론 모델마다 차이가 있겠지만 일반적인 지표가 어느정도 되는지 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolonas augmentation
안녕하세요.배운 내용을 기반으로 yolonas를 학습해보는 과정에서 질문이 있습니다.nas에서 기본적으로 사용하고 있는 transforms 대신에 albumentations 라이브러리를 사용하고 싶은데 계속해서 image 가 없다는 에러가 뜹니다.코드를 어떻게 수정해야하는지 궁금합니다.############## 기존 학습 코드 from super_gradients.training import Trainer from super_gradients.training import dataloaders from super_gradients.training.dataloaders.dataloaders import ( coco_detection_yolo_format_train, coco_detection_yolo_format_val ) from super_gradients.training import models from super_gradients.training.losses import PPYoloELoss from super_gradients.training.metrics import ( DetectionMetrics_050, DetectionMetrics_050_095 ) from super_gradients.training.models.detection_models.pp_yolo_e import PPYoloEPostPredictionCallback from tqdm.auto import tqdm import os import requests import zipfile import cv2 import matplotlib.pyplot as plt import glob import numpy as np import random ROOT_DIR = '/home/바탕화면/test_data' train_imgs_dir = 'train/images' train_labels_dir = 'train/labels' val_imgs_dir = 'val/images' val_labels_dir = 'val/labels' classes = ['fallen', 'normal'] dataset_params = { 'data_dir':ROOT_DIR, 'train_images_dir':train_imgs_dir, 'train_labels_dir':train_labels_dir, 'val_images_dir':val_imgs_dir, 'val_labels_dir':val_labels_dir, 'classes':classes } EPOCHS = 50 BATCH_SIZE = 16 WORKERS = 8 train_data = coco_detection_yolo_format_train( dataset_params={ 'data_dir': dataset_params['data_dir'], 'images_dir': dataset_params['train_images_dir'], 'labels_dir': dataset_params['train_labels_dir'], 'classes': dataset_params['classes'] }, dataloader_params={ 'batch_size':BATCH_SIZE, 'num_workers':WORKERS } ) val_data = coco_detection_yolo_format_val( dataset_params={ 'data_dir': dataset_params['data_dir'], 'images_dir': dataset_params['val_images_dir'], 'labels_dir': dataset_params['val_labels_dir'], 'classes': dataset_params['classes'] }, dataloader_params={ 'batch_size':BATCH_SIZE, 'num_workers':WORKERS } ) train_params = { 'silent_mode': False, "average_best_models":True, "warmup_mode": "linear_epoch_step", "warmup_initial_lr": 1e-6, "lr_warmup_epochs": 3, "initial_lr": 5e-4, "lr_mode": "cosine", "cosine_final_lr_ratio": 0.1, "optimizer": "Adam", "optimizer_params": {"weight_decay": 0.0001}, "zero_weight_decay_on_bias_and_bn": True, "ema": True, "ema_params": {"decay": 0.9, "decay_type": "threshold"}, "max_epochs": EPOCHS, "mixed_precision": True, "loss": PPYoloELoss( use_static_assigner=False, num_classes=len(dataset_params['classes']), reg_max=16 ), "valid_metrics_list": [ DetectionMetrics_050( score_thres=0.1, top_k_predictions=300, num_cls=len(dataset_params['classes']), normalize_targets=True, post_prediction_callback=PPYoloEPostPredictionCallback( score_threshold=0.01, nms_top_k=1000, max_predictions=300, nms_threshold=0.7 ) ), DetectionMetrics_050_095( score_thres=0.1, top_k_predictions=300, num_cls=len(dataset_params['classes']), normalize_targets=True, post_prediction_callback=PPYoloEPostPredictionCallback( score_threshold=0.01, nms_top_k=1000, max_predictions=300, nms_threshold=0.7 ) ) ], "metric_to_watch": 'mAP@0.50:0.95' } trainer = Trainer( experiment_name='yolo_nas_m', ckpt_root_dir='checkpoints' ) model = models.get( 'yolo_nas_m', num_classes=len(dataset_params['classes']), pretrained_weights="coco" ) trainer.train( model=model, training_params=train_params, train_loader=train_data, valid_loader=val_data ) ############## 기존 학습 코드에서 변경 시킨 부분 train_data = coco_detection_yolo_format_train( dataset_params={ 'data_dir': dataset_params['data_dir'], 'images_dir': dataset_params['train_images_dir'], 'labels_dir': dataset_params['train_labels_dir'], 'classes': dataset_params['classes'], 'transforms' : [ A.CLAHE(p=1.0), A.RandomBrightnessContrast(p=1.0), A.RandomGamma(p=1.0), ] }, dataloader_params={ 'batch_size':BATCH_SIZE, 'num_workers':WORKERS } ) val_data = coco_detection_yolo_format_val( dataset_params={ 'data_dir': dataset_params['data_dir'], 'images_dir': dataset_params['val_images_dir'], 'labels_dir': dataset_params['val_labels_dir'], 'classes': dataset_params['classes'], 'transforms' : [ A.CLAHE(p=1.0), A.RandomBrightnessContrast(p=1.0), A.RandomGamma(p=1.0), ] }, dataloader_params={ 'batch_size':BATCH_SIZE, 'num_workers':WORKERS } )
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
korquad 데이터셋 편집 방법 문의
안녕하세요. 강사님.강의 잘 듣고 있습니다. 제가 가지고 있는 csv 포맷 데이터의 일부를 korquad에 넣고 파인튜닝을 해보려는데, 어떻게 편집할 수 있을지 방법을 찾지못해 문의 드립니다. 관련 영상이나 강의를 알려주실 수 있을지요. 검토 부탁드립니다. 좋은 강의 만들어주셔서 고맙습니다. :)
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
코드가 에러가 납니다
for i, img in enumerate(imgs): length = valid_len[i] img = inference.visualize_image( img, boxes[i].numpy()[:length], classes[i].numpy().astype(np.int)[:length], scores[i].numpy()[:length], label_map=config.label_map, min_score_thresh=config.nms_configs.score_thresh, max_boxes_to_draw=config.nms_configs.max_output_size) output_image_path = os.path.join('/content/data_output', str(i) + '.jpg') Image.fromarray(img).save(output_image_path) print('writing annotated image to %s' % output_image_path)AutoML Efficientdet Inference수행 결과 분석 및 시각화 강의입니다. (8분 48초)여기에서 Image.fromarray(img).save(output_image_path) 부분에서 TypeError: function takes at most 14 arguments (17 given) 이라고 뜹니다. (강의에서는 정상적으로 작동하네요...)뭐가 문제일까요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
from torchvision.models.resnet import model_urls 에러
첨부된 9-5 ipynb 에 resnet weight 를 불러올 때 from torchvision.models.resnet import model_urls에서 오류가 나와 찾아보니 torchvision 0.13 버전 이후에model_urls 는 없어졌다고 하네요. https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py 아래와 같이 해결을 해보았습니다.from torchvision.models.resnet import ResNet50_Weights checkpoint = load_state_dict_from_url(ResNet50_Weights.IMAGENET1K_V2.url)
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
강의를 듣다 잘못표기된게 있는것같아서 적습니다.
'Fast RCNN의 이해 14x7ROI 부분이 12x7로 보이는데 14x7이였다면 전체를 표기해야하지않나' 가 제 질문입니다.
-
미해결혼자 공부하는 머신러닝+딥러닝
295쪽 세번째 문단
샘플의 평균값이 아니라 픽셀별 평균값을 비교해 보면 어떨까 생각했습니다 ->샘플들의 평균값을 구하는 것과 픽셀들의 평균값을 구하는 것의 통계적인 차이가 궁금합니다어떤 통계적인 의미가 아쉬워서 후자를 택하게 된건지 알고 싶습니다.
-
미해결혼자 공부하는 머신러닝+딥러닝
292쪽 픽셀값 분석하기
그다음 reshape() 메서드를 사용해 두번째 차원(100)과 세번째 차원(100)을 10,000으로 합칩니다.첫번째 차원을 -1로 지정하면 자동으로 남은 차원을 할당합니다. 라고 써있는데 너무 추상적이라서 정확히 무슨 말을 하는지 이해가 안가요ㅠㅠ차원을 10,000으로 합친다는게 무슨 말인가요?그러면 100*100 이미지를 100*10000의 1차원 배열로 만든다는 말인가요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
섹션 6. Partial Diffentiation 예시
12 page 2번째 문재에서 x1 에 대해 미분할 때 log(x2) 항은 사라져야하는 것이 맞죠?그리고 x2 에 대해 미분할 때는 sin(x1) 항이 사라져야하는 것이 맞죠?
-
해결됨처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
BackPropagation 질문입니다
오차 역전파가 작동하기 위해서는 결국 마지막 layer의 가중치 (w)값을 알아야 하는 거 같은데 마지막 layer의 가중치는 어떻게 구하나요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
RMSProp 관련 질문입니다.
안녕하세요! 섹션 9에서 AdaGrad, RMSProp 강의를 보다 궁금한 점이 생겨 질문드립니다. 제가 이해한 바로는, RMSProp은 학습이 잘 안되었음에도 t가 커질수록 $G_t$가 커지는 문제를 최대한 막는 방법이라고 이해했습니다. $G_t = \gamma G_{t-1} + (1 - \gamma)g_t^2$그런데 위 식대로라면 미분값($g_t$)이 커질때 오히려 $G_t$가 감소할수도 있을 것 같은데RMSProp은 AdaGrad와 달리 learning_rate가 커지는 쪽으로도 조절될 수 있도록 한 것인가요? 만약 맞다면 제가 알기로는 learning_rate는 t에 따라 감소하도록 하는 것이 일반적이라고 알고 있는데RMSProp에서 이렇게하면 학습에서 어떤 이점이 있는 것인지 궁금합니다.
-
해결됨Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
강의자료 링크의 건
강의자료(링크) 도저히 못 찾겠습니다.죄송하지만 좀 보내주십시요
-
미해결따라하면서 배우는 3D Human Pose Estimation과 실전 프로젝트
실습3-데이터로드: data_2d_h36m_cpn_conf.npz
No such file or directory: '../3DHPE/datasets/data_2d_h36m_cpn_conf.npz' 이렇게 에러가 나는데 해당 파일은 없는 것 같습니다.data_2d_h36m_cpn_ft_h36m_dbb.npzdata_2d_h36m_gt.npzdata_3d_h36m.npz 이렇게 다운받았는데, data_2d_h36m_cpn_conf.npz 파일은 어디서 받나요?