묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
object detection 거리 감지를 위한 질문 (YOLO V5)
안녕하세요. 철민 강사님께 늘 좋은 강의 내용에 감사하면서 오늘도 질문을 드립니다. object detection 에서 물체 간의 거리 감지를 위한 질문 (YOLO V5)을 드리려고 합니다. 강의에서 배운 내용을 바탕으로 입력 영상으로 실시간 객체간의 거리를 측정하는 기능을 개발하고 있는데 아래와 같이 중장비와 사람간의 바운딩 박스의 가운데 좌표를 읽어 거리를 측정하고 있는데 근본적이 오류가 있었습니다. 오류사람의 위치가 이동하여 중장비 옆에서 잡은 거리가 2m라고 했을 때 뒤에서 잡은 거리는 2.7m가 되고 위에 지점에서 잡은 거리는 3.8미터가 되는 오류가 있습니다. 이 문제를 해결하기 위해 바운딩 박스의 가장 중심점 에서 거리를 측정 오류를 벗을 수는 없는 것인가요? semantic segmentation 픽셀 단위 이미지를 이용하면 되지만 이 경우에는 사람이 너무 가까이 가면 하나로 클래스로 인식하고 이것을 Instance Segmentation 으로 해결하려고 하는데 GPU 연산의 하드웨어적인 한계가 있었습니다. object detection 알고리즘으로 객체 간 위치별 거리측정의 오차를 없앨 수 있는 방법에 대해서 조언을 부탁드립니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
out = out[:, -1] 코드에 관한 질문입니다
강의 8:30 부분에서 나오는out = out[:, -1] 코드에 관한 질문입니다. 우선, 다음과 같이 예시를 작성해 보았습니다이렇게 test_data를 만들고, 여기에 test_data[:, -1] 을 적용해 보았는데요,shape이 (3, 2, 4) 에서 (3, 4) 로 바뀌는 것은 확인하였지만, 이 코드가 '왜 사용되었는지' 에 관한 궁금증이 생겼습니다. 단지 shape을 맞춰주기 위해서 전체 데이터 중 일부를 slicing 하는 것이라면, view 메소드를 사용해서 shape을 맞춰주는 방법도 있을텐데요,전체 데이터 중에서 일부를 slicing 하는 방식으로 이렇게 코드를 작성한 이유가 무엇인지 궁금합니다!
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
register_forward_hook을 활용한 피쳐맵 추출에서 문제가 발생합니다ㅠㅠ
안녕하세요. 현재 코랩환경에서 파이토치 제공 Mask-RCNN을 활용하고 있습니다. 강의에서 알려주신 Hook를 활용하여 중간 레이어의 피쳐맵을 추출하고자 진행하던 과정에서 문제가 발생하여 질문드립니다ㅠㅠ모델은 제가 가진 데이터셋에 맞춰 출력층을 바꾸어준 후에 학습을 완료한 상태입니다. 이후 for문을 통해 모델에 여러 입력 이미지들을 넣어주어 이미지별 중간 레이어의 피쳐맵을 얻으려고 하였으나, 출력결과 하나의 이미지에 대한 피쳐맵만 반복적으로 출력되는 문제가 발생합니다...모델 학습 및 가중치 로드 후 코드는 다음과 같습니다.Hook 함수def get_activation(name): def hook(models, input, output): activation[name] = output return hook입력 이미지별 피쳐맵 저장activation = {} device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") models.to(device) for i in range(1, 5): test_img = Image.open("입력 이미지 루프").convert('RGB') test_img = test_img.resize((800, 800)) test_img = tr.functional.to_tensor(test_img) test_img = test_img.reshape(1, 3, 800, 800) with torch.no_grad(): models.eval() models.backbone.fpn.extra_blocks.register_forward_hook(get_activation("fm{}".format(i))) test_img = test_img.to(device) models(test_img)출력 결과activation["fm1"] 부터 ["fm4"] 까지 동일한 값이 들어가 있음아무리 찾아보고 여러 시도를 해보아도 해결이 되지않아 답답하네요ㅠㅠ추가로 위의 코드를 한번 돌리면 런타임을 다시 시작하지 않는 이상 이후에 코드를 수정하여 hook 함수부터 다시 돌려도 적용이 되지 않는 문제도 발생합니다...
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetection show_result 함수관련
안녕하세요강사님 강의 덕분에 항상 연구에 큰 도움받고 있습니다 :) 강의에 나온 mmdetection show_result 함수 관련하여 질문드립니다. 상황:from mmdet.api import init_detector # config 파일과 checkpoint를 기반으로 Detector 모델을 생성. model = init_detector(config_file, checkpoint_file, device='cuda:0') model.show_result(img_arr, results, pixel_list, score_thr=0.7, bbox_color=(0,0,0), thickness=0.01,font_size=8, out_file= f'{save_dir1}{rgb_file_name}')위 코드와 같이 init_detector 함수로 model을 생성show_result 함수로 이미지 위에 추론결과를 시각화하려고 합니다. 이때, show_result 함수에 pixel_list라는 인자를 추가하였는데 다음과 같은 에러를 만났습니다. "TypeError: show_result() got multiple values for argument 'score_thr'" 그래서 mmdetection/mmdet/models/detectors/base.py 모듈의 show_result 함수를 수정하였더니 문제가 해결되었습니다. 하지만 mmdetection 내의 mmdet 원본코드를 직접 수정한다면 mmdetection 버전이 바뀔때 마다 매번 해당 코드를 수정해줘야 할 것 같아서요. 혹시 원본코드를 수정하지 않고 새로운 모듈(new_base.py)을 만들고 override를 할 수 있는 방법이 있을까요? (mmdetection/mmdet/api/inference.py의 init_detector와 mmdetection/mmdet/models/detectors/base.py의 show_result 함수가 뭔가 엮여있는 것 같은데 도저히 방법을 모르겠습니다 ㅠㅠ)
-
미해결혼자 공부하는 머신러닝+딥러닝
K최근접 모델 이웃선정 기준
5강의 K최근접 분류 모델에선 무게와 길이로 이웃을 찾고 클래스를 분류했다면 6강의 K최근접 회귀 모델에선 길이로만 이웃을 찾고 무게를 구한건가요?또한 K최근접 회귀로 예측한 값의 무게와 길이로 구한 이웃과 길이로만 구한 이웃과 다를 수 있나요?
-
해결됨처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
batch normalization과 standard scaler에 관한 질문입니다
안녕하세요, batch normalization과 standard scaler의 사용에 관해 질문드립니다! 우선, batch normalization은 학습 과정에서 각 배치 단위 별로 데이터가 다양한 분포를 가지더라도 각 배치별로 평균과 분산을 이용해 정규화하는 것을 뜻하고, 결국 평균 0, 분산 1로 데이터의 분포를 조정하는 과정으로 이해를 하였습니다. 또한, 이전에 학습하였던 standard scaler 역시 전처리 과정에서 평균 0, 분산 1로 데이터를 조정하는 역할을 한다고 이해하였는데요 batch normalization과 standard scaler의 작동 방식 자체가 조금 유사하게 느껴지는데, 이 둘은 각각 전처리 과정과 학습 과정에서 따로 사용되는 것으로 보면 되는 것인가요??
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
numpy의 shape
안녕하세요 인프런에서 강사님의 강의(파이썬을 활용한 머신러닝 딥러닝 입문)를 수강 중인 손승운입니다.질문'파이썬을 활용한 머신러닝 딥러닝 입문' 강의 12강 내용 7분 18초를 보면 주피터 노트에서는 z.shape의 값이 (axis2, axis0, axis1) 순서로 나오고 제가 직접 주피터노트에 실습한 결과도 동일했습니다.하지만 7분 33초 중앙을 보면 shape를 (axis0, axis1, axis2)로 표현하셨는데, 이는 구글링을 통해 다른 사람들이 표현한 것과 같습니다.그럼 (axis2, axis0, axis1)와 (axis0, axis1, axis2) 둘 중 어느 것이 맞는 표현인가요? 혹시 원래는 (axis0, axis1, axis2)로 표현해야 하지만 numpy를 활용해 shape를 볼 때만 (axis2, axis0, axis1)로 표현되는 건가요?강사님의 강의 덕에 머신러닝 개발자가 되는데 한걸음 내딛을 수 있었습니다. 감사합니다. 편하신 시간에 답변주시면 감사하겠습니다.
-
미해결AI 포트폴리오 만들기 - Airbnb 클론 프로젝트
강의자료 요청드립니다!
안녕하세요! 이번에 새로 강의 듣게 되었습니다강의 자료 메일로 요청드립니다.kd03100@naver.com
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
딥러닝 코드에 Batch Normalization 적용해보기 질문입니다
해당 강의 8:18 에서self.layers를 선언할 때, Layer(input_dim, 256. batch_norm, dropout),Layer(256, 256, batch_norm, dropout),Layer(256, 128, batch_norm, dropout),으로 계층들을 선언을 하는 과정에서,Layer들을 선언 했을 때, Layer 클래스 안에 있는 init 매소드만 실행이 되서 생성된 Layer 객체들 안에 self.layer에 값들이 할당이 된것인지.Layer 객체들에서 forward 매소드에서 필요한 인자 (x)를 할당받은 부분이 없기 때문에 DNNModel 클래스의 self.layers를 할당하는 과정에서는 Layer 객체들의 forward 매소드가 실행을 하지 않은 것인지 2가지 질문을 드립니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제) 질문입니다
해당 강의 11:25 에서standardScaler()를 X_train과 X_test에 적용을 시키는데 결과값인 y_train에는 결국 SalePrice를 구하기위해서 standardScaler()를 적용시키지 않는다고 이해를 했습니다. 여기서 질문이, 그럼 standardScaler()는 주로 input 데이터들(ex - X_train과 X_test 등) 에만 적용을 시키고 결과값(y_train 등)에는 적용을 잘 안시키나요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
Binary Classfication 딥러닝 적용해보기 질문입니다
Binary Classfication 딥러닝 적용해보기 강의 19:13초에서, y_pred_list.extend(y_test_pred.squeeze().detach().tolist())를 실행한뒤, y_pred_list = torch.tensor(y_pred_list).unsqueeze(1)을 실행하는데,y_pred_list의 size() 를 y_test_tensor의 size()와 맞추는거면predlist.extend(y_test_pred.detach().tolist())를 실행한뒤, y_pred_list = torch.tensor(y_pred_list)) 을 실행해도 같은 건가요?
-
미해결[Pytorch] 파이토치를 활용한 딥러닝 모델 구축
파이토치 device (gpu / cpu) 관련 질문드립니다.
파이토치를 처음 배우는 학생입니다.처음 텐서를 만들 때 cpu와 gpu 중 원하는 곳에 텐서를 저장할 수 있다고 배웠습니다.이때 기본적으로 torch.tensor로 텐서를 만들면 cpu로 가는지, 아니면 cpu / gpu 그 어느것도 아닌 기본형으로 만들어지는지 궁금합니다. 또 이와 관련하여 텐서를 출력했을 때 <device = 'cuda:0'>이런 게 안 뜨면 cpu에 저장되어 있다고 보면 되는건가요?
-
미해결비전공자/입문자를 위한 Data Science(DS)와 AI 학습 & 취업 가이드
강의 자료 부탁드립니다 !
오늘부터 제대로 학습을 시작하게 되었습니다 아래 이메일로 강의 자료 보내주시면 감사하겠습니다 !!chriskwon9@gmail.com
-
미해결YOLO 구현으로 배우는 딥러닝 논문 구현 with TensorFlow 2.0
object_exists_cell_i 계산식
object_exists_cell_i, object_exists_cell_j = int(cell_size * ycenter / input_height), int(cell_size * xcenter / input_width) loss.py 강의의 18:13s에서 계산식 "cell_size * ycenter / input_height" 에서 ycenter가 0.4(normalized)이고, cell_size가 4 -> 두개를 곱하면 1.6이고, int형변환되어 1이라서 Grid Cell , input_height 값을 계산식에서 제외하신것 같습니다.
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
Augmentation 질문
안녕하세요. 데이터 증강 부분에 대해서 궁금점이 있어서 질문드립니다.가지고 있는 데이터가 1000개 라고 가정했을 때, tr.Compose를 적용시키면 '기존 이미지 1000개 + 증강된 추가 이미지 개수' 가 되는건가요??제가 간단하게 해봤을 때는 transform 했을 때 이미지 개수 증가가 아니라 단순 이미지 변환까지만 이루어지는 것 같은데, 제가 잘못된 부분이 있는건가 좀 헷갈려서 질문 드립니다.만약 단순 이미지 변환만 이루어지는 것이라면 이미지 개수 증가를 위해서 추가적인 작업을 진행해주어야 하는지도 궁금하네요.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
annotation parsing에 관한 질문+(코드 첨부)
코드와 directory 구조는 다음과 같습니다. 최대한 실습 코드와 동일하게 맞추려고 했습니다. 한가지 염려되는 것이 제 Customdata의 label이 한글로 되어 있습니다. 혹 이것이 문제가 될 수도 있을 것 같습니다. 만약 그렇다면 인코딩을 변경해서 파일을 읽은 후 parsing을 진행해야 할까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
custom dataset 작성 시 문의
안녕하세요 선생님 "Oxford Pet 데이터로 Train 실습" 강의를 참고하여 제 데이터로 실습을 진행해보고 있습니다.저는 개인 gpu를 이용하기 위해서 vscode & jupyter notebook을 사용해서 코드를 작성 중입니다.config파일을 설정하고 train용 Dataset을 생성하려고 하는데 그림과 같은 메시지가 출력이 됩니다.ann_file에서 txt가 지원이 안된다는 말 같은데.. txt가 지원이 안되는 포맷이 아닌데 왜 이런 메시지가 뜨는지 어떻게 수정해야할지 잘 모르겠습니다. 조언 부탁드립니다.- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
다변량 회귀
안녕하세요,다름이 아니라 현업에서 회귀 문제를 다루고 있는데 궁금한점이 있어 질문드립니다. 50개 이상의 피처를 통해 종속변수를 예측하는 업무를 진행하고 있는데 논리/이론적으로 일치하는지 대해 여쭤보고 싶습니다. 50개 이상의 변수에 트리기반의 알고리즘 적용하여 주요 인자 를 몇개 뽑습니다.주요 인자에 대하여 다변량 회귀를 진행하게 된다면, 종속변수를 예측할 수 있는 회귀 방정식을 도출할수 있을까요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
torch.armax에 관한 질문입니다
Multi-Class Classification 딥러닝 적용해보기 강의 8:40 부분에서 사용된torch.argmax(x, dim=차원) 에 관한 질문입니다. torch.argmax 함수의 자세한 실행 방식이 궁금해서 pytorch 공식 문서 등을 찾아보았는데요,'dim' 파라미터에 관한 설명이 다음과 같이 나와 있었습니다.dim (int) – the dimension to reduce. If None, the argmax of the flattened input is returned. 여기서 "the dimension to reduce" 라는 표현이 정확히 무엇을 의미하는지 궁금합니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
output_dim 에 관한 질문입니다
Multi-Class Classification 딥러닝 적용해보기 강의 5:26 부분에서0, 1, 2 Multi-Label 에 대한 확률값을 구해야 하므로, output_dim은 3이 되어야 한다고 설명해 주셨습니다반면, Binary Classification 강의에서는 0, 1 Label 에 대한 확률값을 구하면서 output_dim을 1로 설정을 하였는데요,Binary Classification 예제는확률값이 0에 가까우면 phishing, 1에 가까우면 legitimate로 분류되므로 그냥 확률값만을 담고 있는 1차원의 열벡터만 필요한 것이고,Multi-Class Classification 예제는3가지 feature에 대한 확률값이 각각 담겨야 하므로 output_dim을 3으로 설정한 것으로 이해하면 되나요??