묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
최근 등장한 CNN 아키텍처
강의 중에 나오는 최근 모델은 2017년 SENet 즈음이 마지막으로 나오는데구글링을 해봐도 SENet이 등장한 2017년이 최근 모델로 나오더라구요그나마 2019년 ResNeXt50 정도가 있는 거 같은데최근 3년 2020~2022년 사이에 개발된 CNN 모델이 있을까요?이러한 최신 CNN 경향은 어디서 확인하나요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
클래스 질문
안녕하세요. 강사님. 제가 이번 실습을 기반으로 병해충 진단 모델을 구축중입니다. 이에 대해 질문사항이 있어 질문드립니다.efficientNet모델로 딥러닝 모델을 만들고 있습니다. 총 16개의 병해충에 걸린 식물을 구분하는 모델입니다. output layer에서 최종적으로 예측하고 나온 16개의 확률값중에 가장 큰 확률값의 index가 4라고 할때 이게 어떤 식물인지 어떻게 아는건가요?..
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
새로운 회원이 선택한 영화를 모델로 넘기는 방법 질문
안녕하세요 거친코딩님 현재 프로젝트 기획 구상 단계 인데요~현재까지 구상한 것은 거친코딩님이 올려주신 데이터를 구현한 모델(최신 데이터가 된다면 Sparse Matrix를 쓰고, 기존 올려주신 데이터를 활용하게 된다면, 협업필터링으로 모델을 구현하고자 합니다.)을 훈련시킨 다음, 이제 새 회원이 평점을 매긴 영화를 입력값으로 받아 영화를 추천해주는 웹 프로젝트를 하려고 합니다.현재 팀원은 3명이고, 각 각프론트엔드, 백엔드(스프링, DB-MySQL), 추천알고리즘 입니다.근데 지금 막히는 것이 기존데이터가 아닌 클라이언트에서 새로운 회원이 선택한 영화를 추천알고리즘으로 넘기는 것을 어떻게 해야할지 모르겠습니다.이 부분을 새로운 함수로 구현을 해야하는 것인지, 아니면 알려주신 알고리즘을 기반으로 수정으로도 구현이되는 것이 궁금합니다.
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
올려주신 파일과 sparse matrix
안녕하세요, 거친코딩님!올려주신 강의와 파일들을 보면서, 프로젝트를 하다가 궁금한게 있어서 질문드립니다. 강의에서 올려준 파일 u.user, u.item, u.data와 rating-20m.csv가 별개의 영화 평가 데이터 파일들 인가요? Sparse Matrix 알고리즘에서 rating-20m.csv 파일만 쓰여서 궁금해서 여쭤봅니다. 1)에서 질문한것이 맞다면 최신 무비렌즈 영화평가 데이터를 Sparse Matrix 에서 돌려도 될까요? (올려주신 rating-20m.csv파일과 최신 무비렌즈 영화 평가 데이터 내용이 똑같더라구요.) 강의에선 Sparse Matrix의 출력이 오차율이 나와서 그러는데, 최종적으로 추천 영화를 출력하려면 어떻게 구현하면 될까요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
Unable to allocate 55.9 GiB for an array with shape (25000, 100000, 3) and data type int64
안녕하세요.사용자 집단별 추천에서 모델별 RMSE를 계산하는 함수를 돌리면 램이 부족하다며 코랩이 중지됩니다.주피터를 이용해 다시 돌려보니y_pred = np.array([model(user, movie) for (user, movie) in id_pairs])에서Unable to allocate 55.9 GiB for an array with shape (25000, 100000, 3) and data type int64라는 오류가 떴습니다.데이터 사이즈가 이렇게 크지 않을 것 같은데 어떤 부분을 잘못한걸까요?아래는 제가 작성한 score 함수입니다.def score(model): # test 데이터의 user_id와 movie_id의 페어를 맞춰서 튜플로 반환 id_pairs = zip(x_test['user_id'], x_test['movie_id']) # 모든 user, movie 페어쌍에 대해서 주어진 model의 예측값을 계산하여 array 형태로 반환 y_pred = np.array([model(user, movie) for (user, movie) in id_pairs]) y_true = np.array(x_test['rating']) return RMSE(y_true, y_pred)
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
YOLO v1 바운딩 박스 관련
안녕하세요!YOLO v1의 이해 - 01에서 바운딩 박스가 셀마다 2개식 생성이 되는데 이때 셀마다 갖는 바운딩 박스의 크기나 모양 등이 동일한 것인가요? 아니면 랜덤하게 생성이 되는것인가요?감사합니다~
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
사용자 집단별 추천 코드
코드 내에서 score(model)안에 model로 best_seller, cf_gender등을 사용하셨는데, best_seller와 cf_gender함수는 user_id와 movie_id를 변수로 가지는데, score함수 안에 사용할 때는 score(best_seller)로 써도 작동되는 이유가 무엇인가요? score(best_seller(user_id, movie_id))와 같이 써야 작동되는것 아닌가요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
무비렌즈 최신 데이터를 이용하고싶은데요~
안녕하세요 거친코딩님!해당 알고리즘을 최신 무비렌즈 데이터를 이용해서 구현하려하는데요.해당 압축파일에 있는 파일과 강사님이 올려주신 파일이 확장자명이 다른데,최신파일로 구현하고자하면 밑에 파일에서 어떤걸 건들어야할까요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
추천시스템의 이진데이터 적용
안녕하세요. 데이터분석 공부하는 학생입니다.올려주신 강의 모두 잘 들었습니다.다만 제가 지금 적용하고자 하는 데이터가 이진데이터인데요.강의의 코드가 이진데이터에는 맞지 않아 문의드립니다.이진데이터를 추천시스템에 활용하는 다른 예도 찾아 보았는데요: https://towardsdatascience.com/recommender-systems-item-customer-collaborative-filtering-ff0c8f41ae8a어차피 여기서도 코사인유사도를 활용하고 있어거친코딩님의 강의의 예를 활용하고 싶은데 잘 안되네요.혹시 한 번 봐주실 수 있을까요?적용 코드: https://drive.google.com/file/d/11qlP4zOAFewSiHxo_T7fp_Ql-WgSpHS3/view?usp=sharing
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
데이터 전처리
데이터 전처리 시 왜 0~ 255 사이의 픽셀값을 0 ~ 1 사이 값으로 변환해주는 걸까요?자료의 범위가 맞춰져야 해서인 거 같은데 자세한 이유가 알고 싶습니다.
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
평가 관련
안녕하세요 강사님. 평가 지표에 관련된 내용을 여쭤보려고 합니다. mAP, nDCG 같은 성능을 측정하려면 어떻게 해야 하나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mAP 0.5와 mAP 0.5-0.95의 차이
mAP의 측정 기준 중mAP0.5와 mAP 0.5-0.95는 무엇을 의미하나요?보니까 IoU를 0.5에서 0.95까지 0.05씩 올려가면서 측정한 평균 mAP라는데, 이것이 무엇을 의미하는 지 자세히 모르겠습니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
faster-rcnn inference 오류
현황 : BCCD에서 사용하던 코드로 Inference를 하려 했는데다음과 같은 오류가 발생하고 있습니다바쁘시겠지만 문의드립니다◇ 문의사항: 해결방안이 있을까요?코드import torchfrom mmdet.apis import multi_gpu_test, single_gpu_testfrom mmcv.parallel import MMDataParallel, MMDistributedDataParallelmodel_ckpt = MMDataParallel(model_ckpt, device_ids=[0])outputs=single_gpu_test(model_ckpt, data_loader, True, "저장폴더", 0.5)--------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Input In [6], in <cell line: 8>() 5 model_ckpt = MMDataParallel(model_ckpt, device_ids=[0]) 6 # single_gpu_test를 활용하므로 samples_per_gpu는 1이 되야함 ----> 8 outputs=single_gpu_test(model_ckpt, data_loader, True, "저장폴더", 0.5) File ~/.local/lib/python3.9/site-packages/mmdet/apis/test.py:38, in single_gpu_test(model, data_loader, show, out_dir, show_score_thr) 36 img_tensor = data['img'][0].data[0] 37 img_metas = data['img_metas'][0].data[0] ---> 38 imgs = tensor2imgs(img_tensor, **img_metas[0]['img_norm_cfg']) 39 assert len(imgs) == len(img_metas) 41 for i, (img, img_meta) in enumerate(zip(imgs, img_metas)): File ~/.local/lib/python3.9/site-packages/mmcv/image/misc.py:34, in tensor2imgs(tensor, mean, std, to_rgb) 32 if torch is None: 33 raise RuntimeError('pytorch is not installed') ---> 34 assert torch.is_tensor(tensor) and tensor.ndim == 4 35 channels = tensor.size(1) 36 assert channels in [1, 3] AssertionError: show_result_pypot 사용 시 오류가 발생하는데해결방안이 있을까요?코드from mmdet.apis import show_result_pyplotimport cv2#brg image 사용img = cv2.imread("sample 이미지 위치")model.cfg = cfgresult = inference_detector(model, img)show_result_pyplot(model, img, result, score_thr=0.3)결과/home/namu/.local/lib/python3.9/site-packages/mmdet/datasets/utils.py:66: UserWarning: "ImageToTensor" pipeline is replaced by "DefaultFormatBundle" for batch inference. It is recommended to manually replace it in the test data pipeline in your config file. warnings.warn(
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
딥러닝 추천시스템 변수추가 부분 코드 관련 질문입니다.
기존에 코드에 나와있는 occupation에 더해 age 변수를 추가하고 싶습니다. 하지만 age embedding layer에 들어갈 input dimension을 len(users['age'].unique()) 라 설정하고 모델을 fit 시키면 InvalidArgumentError: Graph execution error: 라는 에러가 뜹니다. 이때, age embedding layer의 input dimension을 len(users)라고 설정하면 fit 코드가 정상적으로 진행됩니다. 그 이유와 변수 embedding layer의 input dimesion을 설정할 때 꼭 unique 값의 개수를 넣어야 하는건지, 그리고 그 이유 도 알고 싶습니다.
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
딥러닝을 위한 추천시스템 원핫 인코딩 질문
148페이지 그림을 보면 유저아이디와 아이템 아이디를 원핫벡터 인코딩 한후에 임베딩 레이어에 들어가는데 왜 책에 있는 코드는 원한 인코딩을 적용 하지 않는지 궁금합니다. 원핫 인코딩을 적용하지 않은 이유를 알려주셨으면 합니다.
-
미해결
yolact에서 eval.py의 역할이 무엇인가요..?
yolact 설치 시 파일에 들어있는 eval.py의 용도가 무엇인가요..?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
미니배치 관련 질문
안녕하세요 선생님! BGD도 1:507 까지 모든 데이터를 순회하고 mini BGD도 사이즈를 나눠서 하지만 모든 데이터로 업데이트를 한다고 생각하는데 , 둘의 차이점이 무엇인가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmdetection (mask_rcnn) 인퍼런스 관련 질문입니다.
안녕하세요. 좋은강의 잘 듣고 있습니다. 얼마전에 mmd-to-tensorrt 질문을 올렸었는데요. 사실 해당 라이브러리를 사용해보려 한 목적이 Inference의 속도를 향상시키려는 시도의 일환이었습니다. 혹시 mmdetection을 이용한 mask_rcnn 의 추론 속도를 향상시키는 다른 방안을 알고계신가 싶어 질문 드립니다. mmdetection에 포함된 다른 instance segmentation 검출 로직인 yolact를 사용하면 미세하게 속도의 향상이 있으나 검출 정확성 측면에서 mask rcnn이 더 낫더라구요. 항상 좋은 강의 감사드립니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
MMDetection To TensorRT 를 사용시 Mask_RCNN Dimension 문제가 발생합니다 ㅠㅠ
안녕하세요. 선생님의 MMDetection 강의를 보고 여러가지 만들어보고 있는 학생입니다. 다름이 아니고 mask_rcnn에 tensorrt를 적용해보고자 하여 mmd to tensorrt 라는 github를 발견하고 사용해보았습니다. https://github.com/grimoire/mmdetection-to-tensorrt 일단 설치하고 모델 적용을 하는데 기본값으로 모델을 변환하고 추론하면 추론이 되긴 하는데 segm 가 빠진 bbox만 검출이 됩니다. 그리고 파라미터를 수정해서 seg trt_model = mmdet2trt( cfg_path, args.checkpoint, fp16_mode=args.fp16, device=args.device, enable_mask=True, opt_shape_param=opt_shape_param, output_names=["num_detections", "boxes", "scores", "classes", "masks"] ) 요런식으로 만들어 모델을 돌려보면 IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)가 가 계속 뜨는데요. 혹시 도움주실수 있을까 하여 작성했습니다. 좋은 강의 감사히 보고있습니다. 감사합니다.
-
해결됨최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지
Transformer의 input에 대해 질문드립니다.
안녕하세요. Transformer에 대해 공부하면서 궁금한 점?이 있어 질문 글을 올리게 되었습니다. Transformer는 기존 seq2seq 구조와 다르게 input이 통째로 들어가서 병렬계산이 가능하다는 장점이 있다고 알고 있었습니다. 하지만 Transformer의 input도 문장의 위치에 따라 Positional Encoding(위치에 따른 sin, cos 값)이 더해지는 형태이기 때문에 일련의 sequence 형태를 가져야 된다 생각했습니다. 위는 제가 만든 그림예시인데, input 문장이 "I am student"라면, "I student am"처럼 순서를 바꿀 경우 positional encoding 값이 위치에 따라 특정 값이 들어가고 기존의 input 값과 다르기 때문에 결과적으로 Transformer의 input도 순서를 가져야만 된다라는 결론에 도달했습니다. 그렇게 된다면 순차적으로 값을 입력하는 기존 RNN 및 LSTM의 seq2seq와 input 측면에서 크게 나아진점이 없어보이는데 이 관점이 맞는걸까요? 제가 생각했던 것을 글로 표현하여 질문을 하다보니, 두서가 없는 점 죄송합니다.