묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
섹션6 CIFAR10 imshow() 시각화 문제
안녕하세요 교수님!5강 시작부분에서 get_preprocessed_data의 scaling 파라미터 값을 False로 하셨는데, 그러면 픽셀값을 255로 나누지 않는 것인데 이렇게 하면 다음과 같은 흰색 배경만 뜨더라구요..그래서 구글링을 해보니까 plt.imshow() 함수가 0 ~ 1 사이의 float형이나 0 ~ 255 사이의 int형만 가능하다고 해서 다음과 같이 바꾸었는데 제대로 출력되더라구요..!... def get_preprocessed_data(images, labels, scaling=True): if scaling: # 직접 scaling을 한다고 했을때? images = np.array(images/255.0, dtype=np.float32) else: images = np.array(images, dtype=np.int32) # 이 부분을 수정했습니다. oh_labels = np.array(labels, dtype=np.float32) return images, oh_labels def get_preprocessed_ohe(images, labels): images,labels = get_preprocessed_data(images, labels, scaling=False) # OHE oh_labels = to_categorical(labels) return images, oh_labels ...교수님 코드랑 다른 부분이 없는데 저는 흰 배경으로만 나오고, 저렇게 설정해야지만 올바르게 나오는 점이 이상해서 여쭤보고자 합니다ㅠㅠ! 혹시 몰라서 해당 부분 전체 코드 올리겠습니다!from tensorflow.keras.datasets import cifar10 from tensorflow.keras.utils import to_categorical from sklearn.model_selection import train_test_split # seed 설정 def set_random_seed(seed_value): np.random.seed(seed_value) python_random.seed(seed_value) tf.random.set_seed(seed_value) def get_preprocessed_data(images, labels, scaling=True): if scaling: # 직접 scaling을 한다고 했을때? images = np.array(images/255.0, dtype=np.float32) else: images = np.array(images, dtype=np.float32) oh_labels = np.array(labels, dtype=np.float32) return images, oh_labels def get_preprocessed_ohe(images, labels): images,labels = get_preprocessed_data(images, labels, scaling=False) # OHE oh_labels = to_categorical(labels) return images, oh_labels def get_train_valid_test_set(train_images, train_labels, test_images, test_labels, valid_size=0.15, random_state=2023): train_images, train_ohe_labels = get_preprocessed_ohe(train_images, train_labels) test_images, test_ohe_labels = get_preprocessed_ohe(test_images, test_labels) train_images, valid_images, train_ohe_labels, valid_ohe_labels = train_test_split(train_images, train_ohe_labels, test_size=valid_size, random_state=random_state) return train_images, train_ohe_labels, valid_images, valid_ohe_labels, test_images, test_ohe_labelsset_random_seed(2023) (train_images, train_labels), (test_images, test_labels) = cifar10.load_data() print(train_images.shape, train_labels.shape, test_images.shape, test_labels.shape) train_images, train_ohe_labels, valid_images, valid_ohe_labels, test_images, test_ohe_labels = get_train_valid_test_set(train_images, train_labels, test_images, test_labels, valid_size=0.15, random_state=2023) print(train_images.shape, train_ohe_labels.shape, valid_images.shape, valid_ohe_labels.shape, test_images.shape, test_ohe_labels.shape)NAMES = np.array(['Airplane', 'Automobile', 'Bird', 'Cat', 'Deer', 'Dog', 'Frog', 'Horse', 'Ship', 'Truck']) def show_images(images, labels, ncols=8): figure, axs = plt.subplots(nrows=1, ncols=ncols, figsize=(22, 6)) for i in range(ncols): axs[i].imshow(images[i]) label = labels[i].squeeze() axs[i].set_title(NAMES[int(label)]) show_images(train_images[:8], train_labels[:8], ncols=8) show_images(train_images[8:16], train_labels[8:16], ncols=8) show_images(train_images[16:24], train_labels[16:24], ncols=8)감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
LeNet-5 실습 중 loss값 nan이 나오고 있습니다.
강의와 동일하게 코드를 쳐서 진행한 것 같은데 loss값 자체가 nan이 나오고 accuracy는 0.1을 넘기지 못하는 중입니다. 왜 이렇게 나오는 건지 알려주실 수 있을까요?
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
tdc 자격증 유효기간지나면
tdc 자격증 유효기간지나면 다시 시험쳐야하는거죠 .?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
에어리얼 스페이싱? 이 뭔가요
Ratinanet의 FPN 강의를 듣고 있었습니다. 각 구간별 피처맵에서 UPSapleing하여 더해준 후 3X3 covolution 연산을 해준다고 들었는데 그 후 3X3 convolution 연산을 하는 이유가 에어리얼 스페이싱 때문이라는 거 같은데 이게 맞는건지 여쭙고 싶습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
spp에서 궁금한점이 있습니다.
8*8 region proposal 영역이 아닌 8*9의 region proposal 영역이 있을 때 이를 정확히 4분면으로 나눌 수 없는데 이때는 패딩을 더하나요?
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
from tensorflow.keras.models import Sequential
제목처럼 Sequenital을 import해서 쓰는 것과 keras.Sequential을 쓰는 것의 차이가 있나요? models의 차이가 있는지 궁금합니다. 실행했을 땐 똑같긴한데.. 굳이 왜 다른지 궁금합니다. Dense(1, input_shape = (2, ), ....) 에서 왜 2가 앞에 쓰이는 건가요?? 앞은 보통 행인데...ㅠㅠkeras가 행은 몇개인지 몰라도 되는데 피쳐는 몇개인지 알아야 하는건가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
confidence score의 정의에 대해
confidence score가 어떤 곳에서는 class score인지 object 인지 아닌지를 판단하는 object score인지 아니면 어떤 곳에서는 저 두개의 곱으로도 나타내더군요.혹시 정의에 대해서 확인해봐도 되겠습니까
-
해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
save_weights_only=True로 했을 때 load_model 오류
안녕하세요 교수님!ModelCheckpoint에서 ModelCheckpoint('best_model.h5', save_weights_only=True, monitor='val_loss', save_best_only=True, mode='min')save_weights_only = True로 했을 때 아래와 같은 load_model 에러가 나더라구요..그래서 구글링을 해봤는데 저렇게 설정할 경우에 모델 아키텍처가 저장이 안되어서 load_model을 할 수 없다고 json 파일로 모델을 따로 저장하고 나중에 json 모델을 다시 불러오는 방법을 사용하라고 나왔습니다. 강의 중에도 언급해주셨지만 save_weights_only = True로 했을 때의 이점이 있을까요..? False로 했을 때 교수님께서 모델을 불러올 때 충돌..? 비슷한 것이 난다고 하셨는데 좀 더 세부적인 내용을 알고 싶습니다..!만약에 True로 설정했다면 매번 json으로 모델을 저장하는 과정을 거쳐야 하는 것인지 궁금합니다!model.save() 함수도 있던데 이거는 modelcheckpoint와 달리 학습 중에 저장은 안되는 것 같아서요.. 항상 감사합니다 교수님!!
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
정보가 손실되는 이유가 궁금합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의에서 conv2d연산을 진행한 후에 softmax연산을 해주기 위해 3차원 데이터를 flatten시켜줬는데 flatten시켜준 후에 바로 softmax함수를 적용시키면 어떤 이유로 정보가 손실되는 이유에 대해서 궁금합니다.dense를 하나 추가하고 softmax를 적용하는 것과 dense없이 flatten후 softmax를 적용하는 것의 차이점에 대해서 궁금증이 생긴 것 같습니다!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
opencv Yolo v3 inference
안녕하세요. 권철민 강사님유익한 영상 잘 보고 있습니다. 현재 opencv로 Yolov3를 inference하는 파트를 보고 있습니다.nms threshold 값이 예를 들어nms_confidence = 0.4이면 한 상자당 confidence score가 가장 높은 상자를 뽑아 for문을 돌면서 iou 값이 nms_confidence이상이면 제거하는 데 쓰이는 것이 맞는지 확인하고 싶습니다. 그리고 85개의 차원중에 5번째에 있는 객체가 있는지 없는 지를 판단하는 confidence (detection[5])은 안쓰는 지 여쭙고 싶습니다. 본 코드에서는 class_score 부분만 if문에 조건으로 사용하여 의아한 기분이 들어 질문 드립니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Validation Data Set Augmentation 문의
안녕하세요.좋은 강의 감사합니다.Validation Data Set Augmentation 관련 문의드립니다.tr_ds = image_dataset(tr_path, tr_label, image_size=IMAGE_SIZE, batch_size=BATCH_SIZE, augmentor=image_augmentor, shuffle=True, pre_func=xcp_preprocess_input) val_ds = image_dataset(val_path, val_label, image_size=IMAGE_SIZE, batch_size=BATCH_SIZE, augmentor=None, shuffle=False, pre_func=xcp_preprocess_input) Validation Set 부분은 Augmentation을 None으로 진행했는데요.Augmentation을 None이 아닌 것으로 진행해도 성능에는 크게 문제가 없을 것으로 생각합니다. (별도 Test Set으로 평가했을 때, 평가 성능이 저하 된다거나 그렇진 않을 것 같아서요.)Validation Set 부분도 Train Set과 마찬가지로 Augmentation을 진행해도 되지 않을까요? 딱히 구글링으로 명확한 답을 찾기 어려워 선생님의 의견을 얻어보고 싶습니다.감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하세요. 교수님.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. mmdetction에서 각 객체 별로 map를 도출하는 방법이 있을까요? 만약 도출하려면 어디서 수정을 어떻게 해야될까요...도움 부탁드립니다!!..
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
개별 Json 어노테이션 파일 및 2개 이상의 라벨링 속성
안녕하세요. 강의 들으면서 이미지 디텍션에 깊은 이해를 하게 되었습니다.2가지 문의 드립니다.첫번째, 학습데이터를 입수했는데, PASCAL VOC와 같이 이미지별로 annotation이 존재하나, XML이 아닌 JSON 형식입니다. COCO 또는 YOLO 포맷으로 변환하고 싶습니다.이런 경우는 자바 프로그램등을 이용하여 JSON을 XML로 변환후, COCO나 YOLO로 변환해야 하는 방법을 사용하는지, 적정한 변환 방법이 궁금합니다. 두번째, 이미지의 라벨이 2가지 이상 일때는 어떻게 학습데이터를 구성해서 학습해야 하는지 궁금합니다.만약에 공작기계의 주요 부품과 상태를 진단한다고 할때,부품은 베어링부, 조인트부, 절삭부의 3가지가 있고,상태는 normal과 abnormal의 2가지고장상세는 깨어짐, 비틀림의 2가지 있다고 했을때,디텍션에서 조인트부-normal 또는 조인트부-abnormal-깨어짐, 이런식으로 디텍션을 할 수 있도록 학습시키려고 할때 어떻게 해야하는지 궁금합니다.감사합니다. 더운 여름 건강 유의하십시요.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
val_loss값이 계속 커지는 현상이 왜 나오나요?
안녕하세요.코드를 타이핑하며 실행해 보는데, 강의 화면과는 달리 vla_loss값이 점점 커지는 결과가 나왔습니다.처음에는 제가 타이핑을 잘못해서 그런가 했는데, 선생님이 제공해주신 코드를 그대로 실행해도 비슷한 결과가 나왔습니다.여러 번 런타임을 재실행하고 해봐도 마찬가지입니다.왜 이런 현상이 나타나나요?(kaggle에서 실행했습니다)
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
tf hub row_detection_boxes
현재 TF HUB의 SSD 모델 Inference를 수행중입니다.result의 키값 중 row_detection_boxes의 경우shape가 (1,1917,4)가 나옵니다.이 경우 SSD의 bounding box가 8700개정도로 나오는 걸로 알고있는데 그중에 1917개의 bounding box를 뽑아준건가요? 일단 시각화를 해보니 이렇게 나오긴 했습니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
저장된 모델에는 무엇이 들어 있나요? 그리고 weight만 저장했을 경우 어떻게 사용하나요?
매개변수를 하나하나 알기 쉽게 설명해주셔서 감사합니다. [질문 1] fit 중에 콜백함수를 이용해 모델을 저장할 수 있다고 하셨는데요, 모델 안에 무엇이 저장되는지 궁금합니다. loss, accuracy, weights 는 저장되어 있을 것 같은데요, 그 외에 무엇이 저장되어 있나요? 혹시 학습 데이터도 저장되나요? 저장 목록을 알려면 어떤 명령어를 써야 하나요? [질문 2] fit 중에 오류가 발생해 다운되었을 때, 저장된 모델을 불러 fit을 이어서 할 수 있나요? [질문 3] save_weights_only 했을 경우 어떻게 사용해야 하나요? 저장된 모델을 불러 바로 predict 하면 되나요? 모델을 저장하고 불러 와 사용한 적이 없다보니 질문 범위가 너무 넓은 것 같아 죄송합니다. 혹시 참고할 만한 사이트를 알려주시면 공부해보겠습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
논문 구현 조언 부탁드립니다.
안녕하십니까 강의를 듣다 조언을 좀 부탁드릴 수 있을까 싶어 연락드립니다.현재 2학년 재학중으로 컴퓨터비전 분야의 대학원을 생각하고 있습니다.대학원을 준비하면서 여러 공부를 해본 결과 논문을 구현해보기로 결심했습니다.그래서 강의 초반에 설명하시는 faster rcnn을 구현하고자 했지만 실패하고 말았습니다.혹시 구현하기에 난이도가 좀 더 낮은 모델을 추천해주실 수 있는지 글 남깁니다.이상입니다.
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
SSD 끝단에 대해
혹시 Faster RCNN에서 RPN 네트워크 레이어가 어떻게 되어있는지 보여주셨던 것 처럼 SSD에서 각 크기별 feature map에서 head로 가는 레이어가 어떻게 합쳐지는지 어떻게 생겼는지 알 수 있을까요?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Oxford Dataset RCNN Inerence 질문
저는 mmdetection oxford Dataset의 품종에 대한 inference를 수행하였습니다.의문점이 너무 많이 겹치는 bounding box가 있다는 것입니다. 제가 첨부한 2번 4번 7번 사진의 경우 하나의 개사진에 매우 겹치는 2가지 bounding box가 있음을 알 수 있습니다. 제가 알기로는 RPN 네트워크에서 마지막에 NMS를 수행해 Confidence Score가 높은 순으로 정렬하고 Confidence Score가 가장 높은 bbox와 IOU가 큰 박스는 삭제하는 걸로 알고 있습니다만 제가 잘못 알고 있는 건지 여쭙고 싶습니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Upstream Gradient, Local Gradient의 의미를 제대로 이해했는지 몰라서요.
안녕하세요. Upstream Gradient와 Local Gradient를 제대로 이해했는지 몰라 질문드립니다.세터1의 가중치를 업데이트하려고 할 때Local Gradient는 구하고자 하는 가중치(세터1)가 직접 곱해지는 레이어의 gradient를 가리키는 것이고Upstream Gradient는 세터1이 직접 곱해지는 레이어 이전까지(역방항기준) 모든 레이어의 gradient를 가리키는 것이 맞나요? 상세하고 명쾌한 강의 감사드립니다.