묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    미해결TensorFlow 2.0으로 배우는 딥러닝 입문
ppt 12p 질문
ppt 10p, 3번째 동그라미 '따라서 컨볼루션 층의 결과로 출력되는 차원은 [W, H, K]입니다' 문장에서 [W, H, K]가 아니라 [H, W, K] 아닌가요?
 - 
      
        
    미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
filter의 종류?는 model 생성 시 지정하지 않는건가요?
안녕하세요. 수업 듣던 중 질문이 생겨 여쭤봅니다. 앞선 강의에서 설명해주셨던 필터는 마치 사진촬영 어플의 필터처럼, 적용 시 변경된 결과물을 도출해주며, GIF 예시로도 보여주셨었는데요. (빨간 필터, 초록 필터; 커널과 피처맵 강의 中 도시 전경 이미지에 필터 적용 예시) 본 강의에서 드는 의문은 Conv2D 레이어를 만들 때, 필터 사이즈만 정하고 정작 해당 필터가 어떤 필터인지는 정하지 않는건가요? (사진 어플의 필터를 예로 들자면, 흑백 필터인지, 스케치 효과의 필터인지 등) 혹은 이후에 특정 크기로 만들어놓은 Feature Map에 각각 filter를 적용하는 과정을 추가로 거치게 되는건가요?
 - 
      
        
    미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
런타임 관련 질문드립니다.
from mmdet.apis import init_detector, inference_detector import mmcv 를 할때 런타임 다시 시작을 하는데 왜 그래야 하나요..? 설치를 하게 되면 바로 실행이 되어야 한다고 생각하는데, 그렇지 않아서 문의드립니다. 또한 런타임이 어떤 역할을 하는지 알려주시면 감사하겠습니다. +) 커널과 런타임은 같은 개념인가요?
 - 
      
        
    해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
Batch Normalization Layer 의 Training parameter 이해 관련 질문
안녕하세요? 머신러닝 완벽가이드 수강하고 CNN 으로 넘어왔네요~ 요 강의 마치고 컴퓨터 vision 쪽 강의도 수강하려고 미리미리 구매해 놓았습니다. ㅎㅎ 항상 좋은 강의 감사드립니다! Batch normalization 강의를 듣고 실습을 해 보다가 세 가지 궁금한 점이 생겨서 질문 드립니다. (아래 내용 중에서 제가 잘못이해하고 있는 부분 지적해 주시면 감사드리겠습니다. ^^;;) 아래 그림과 같이 Batch Normalization 을 포함시켜서 Model Creation 했을 때 Model Summary 를 보면 Batch Normalization layer 에도 Training paramter 가 할당되는 것을 볼 수 있는데요, 1) Batch normalization layer 의 training paramter 의 갯수는 어떤 수식(?) 에 의해서 결정되는지.. 궁금합니다. 수식을 알 수 있다면 layer 에 대한 이해를 조금 더 높일 수 있을 듯 해서 질문드리고 있습니다. 2) BN 방법이 Batch 별로 Z = (X - Xbar)/S 수식을 적용해서 얻은 평균이 0이고 표준편차가 1로 scaling 이 된 데이터들을 activation function 에 input 하는 방식인 것으로 이해가 되는데요, 각 node 나 feature point 들 중 신호가 약한 부위를 끄거나 (off), 신호가 분명한 부위를 켜는 (on) 역할을 데이터 평준화를 통해 좀 더 일관성 있게 해 주는 거라고 이해하면 될지요? (강의 중 설명에서는 오히려 noise 개념으로 어려운 학습을 하게 해서 overfit을 줄이는 역할을 한다고 해서.... 사실 일반적인 ML 에서의 표준화 개념과는 상충되는 듯 해서 이해하기 쉽지 않습니다.) 요약 드리면 Batch normalization layer 가 전 후 layer 들에게 영향 주는 물리적인 역할이 무엇인지.. 에 대한 질문입니다. Conv 와 Activation 사이에 위치한다면 Conv layer 에는 영향을 주지 않을 것이고, Activation 을 통과하는 결과에만 영향을 줄 것 같아서요. 3. '표준화' 라는 개념으로 BN layer 를 이해해 보면 왠지... 각 배치별 평균 벡터와 표준편차 벡터값 (혹은 분산-공분산 행렬) 들을 저장해 놓았다가, test data 예측시 활용할 것도 같은데요.. (마치 sklearn 의 preprocessing 모듈의 StandardScaler 클래스의 fit 메소드 처럼) 다만 매 batch 별로 표본 평균 벡터와 표본 분산공분산 행렬이 계속 달라질 것일텐데, batch 가 진행되면서 해당 통계량들을 업데이트 했다가 최종적으로 업데이트 된 통계량을 test data 예측할 때 사용하게 되는 것인지요..? 요 개념이 맞다면 대략 어떤 방식으로 weight 들을 업데이트하며 학습하게 되는지.. 개념적으로라도 이해하고 싶습니다. 다른 weight 들과 마찬가지로 결국 loss 를 줄이는 방향으로 최적화 되는 weight 들인 것인지도 궁금하구요~~ (아니면 BN 의 training parameter 들은 일종의 noise 처럼 임시로 저장은 하지만 예측 시 활용이 안되는 weight 들인 것인지요? ) 감사합니다!
 - 
      
        
    해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
5장의 surprise 모듈 사용 시 에러가 발생합니다.
import numpy as np from surprise import BaselineOnly, KNNWithMeans, SVD, SVDpp, Dataset, accuracy, Reader from surprise import Dataset from surprise.model_selection import cross_validate, train_test_split data = Dataset.load_builtin(u'ml-100k') 와 같이 입력하면 Dataset ml-100k could not be found. Do you want to download it? [Y/n] --------------------------------------------------------------------------- EOFError Traceback (most recent call last) <ipython-input-16-e59d9e9bee92> in <module>() 5 from surprise.model_selection import cross_validate, train_test_split 6 ----> 7 data = Dataset.load_builtin(u'ml-100k') /usr/local/lib/python3.7/dist-packages/surprise/dataset.py in load_builtin(cls, name, prompt) 87 print('Dataset ' + name + ' could not be found. Do you want ' 88 'to download it? [Y/n] ', end='') ---> 89 choice = input().lower() 90 91 if choice in ['yes', 'y', '', 'omg this is so nice of you!!']: EOFError: EOF when reading a line와 같이 에러가 발생하는데 원인을 알 수 있을까요?
 - 
      
        
    해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
딥러닝 추천시스템에 변수 추가
안녕하세요! 강의를 참고하여 공부하는 도중에 질문이 생겨 남깁니다. 딥러닝으로 구현한 추천시스템에 변수 하나씩 추가 하는 방법 말고 수십개의 변수를 한번에 넣어서는 만들지 못하는건가요? 고객의 어떠한 특성과 상품의 특성 같은 변수를 여러가지 추가하고 싶은데 강의 내용대로 하나씩 레이어를 만들어야하는지 궁금합니다!
 - 
      
        
    해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
권철민 교수님 모든 강의를 다 듣고 있는 학생입니다.
안녕하세요 권철민 교수님 교수님의 모든 강의를 다 듣고 있습니다. 좋은 강의 감사합니다.첫번째 질문: 딥러닝 컴퓨터 비전 완벽가이드 초기판부터 개정판까지 수강하고 있고 동시에 CNN 완벽가이드, 파이썬 머신러닝 등 수강을 하면서 저는 늘 궁금했습니다. 제가 pyqt5를 UI디자인하고 Yolov5 모델을 트레이닝하면서 실시간 영상의 결과를 DB로 받아서 알람을 주는 스마트 CCVT 시스템을 한번 구성하고 싶어서 github에서 다른 개발자가 만든 소스도 참고하고 있습니다. 혹시 교수님께서 Github에서 잘 만들어 졌다고 fork 하시거나 추천해주실 만한 실시간 영상 오브젝트 디텍션 오픈소스가 있으신지요? 두번째: 오라클 성능 분석강의도 듣고 있는데 혹시 No SQL 쪽 강의 계속은 없으신지? 위에 부분에서 오브젝트 디텍션으로 받은 결과값을 DB로 저장하여 데이터를 시각화 하는 부분을 시스템으로 확장하고 싶어서 여쭤봅니다. 새로나온 강의도 수강신청 할겸 해서 여줘봅니다. 교수님 지식을 나누어 주셔서 감사합니다.
 - 
      
        
    미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님, 질문이 있습니다.
선생님, 이번에 Kernel과 Filter 차이를 설명하셨는데, 제 이해가 맞는지 검토를 부탁드려도 될까요? 우리가 보통 color image는 R,G,B 총 3개의 (28,28,1) 이미지가 결합이 된 형태이니까 이를 묶어서 (28,28,3) 이렇게 표현을 하고 흑백 이미지의 경우에는 그냥 (28,28,1) 이렇게 표현하잖아요? 그렇게 되면 각각 Channel의 개수는 3,1이 되는 것이구요. 만일 11:54의 Conv2D 조건에서 Input이 RGB 이미지로 주어진다면, 0) 일단 공통적으로 Input (28,28,3)에 대한 Batch 크기는 논외로 여거두고, 1) kernel 정방행렬 한 개를 나눠서 생각해보면 크기는( 3,3,1) 이 되는데, channel 수에 맞추기 위해(RGB) 결국 (3,3,3)이 되는 것이고, 2) filter의 개수가 4개이기 때문에 이 (3,3,3) 크기를 갖는 kernel이 총 4개가 존재한다 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 반면 흑백 사진 (28,28,1) 의 경우 0) 공통적으로 Input (28,28,1)에 대한 Batch 크기는 논외로 여겨두고, 1) kernel 정방행렬의 크기는 일단 (3,3)으로 주어지는데 Channel 수에 맞춰야 해서 (3,3,1)이 되는 것이고, 2) filter의 수가 4개이기 때문에 (3,3,1)의 크기를 갖는 kernel이 총 4개가 존재한다 이렇게 흐름으로 나눠서 생각이 되는데 어디부터 잘못이고 어디까지 이해가 잘 되었는지 짚어주시면 감사합니다ㅜㅜ!!
 - 
      
        
    해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
Full matrix를 사용자 데이터와 merge 하는 것과 gender기준 추천 모델에서 실제 추천을 받는 방법 질문 입니다.
데이터에 실제 데이터를 투입하여 실습을 하는 중 궁금한 점이 생겨 질물 드립니다. 1. Full matrix를 사용자 데이터와 merge 하는 과정에서 Merge가 되지 않는 오류가 발생했습니다. 데이터는 아래와 같습니다. 2. gender기준 추천 모델에서 정확도만 계산했는데 남성 혹은 여성에게 적합한 영화를 추천을 받기위해서는 어떠한 코드를 입력해야 하는지 궁금합니다.
 - 
      
        
    미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
import error가 생기고 진행이 안되네요.
mm_faster_rcnn_train_kitti.ipynb 강좌 중, [2]번 STEP에서, kernel을 재시작 했는데도, 계속 import error가 발생합니다. 어느 부분을 점검해 보아야 하는지 모르겠습니다. 지도 편달 부탁 드립니다.
 - 
      
        
    해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Yolo v3 Custom Dataset 결과 데이터 분석을 어떻게 해야 할 지요?
교수님 안녕하세요 . 개정되고 나서 다시 정주행 하고 있고 있습니다. 좋은 강의 감사드리고 교수님 강의들 머신러닝과 오라클 강의 또한 아주 잘 듣고 있습니다. 교수님 Yolo v3 Custom Dataset으로 학습 후 아래와 같이 텐소보드를 통한 결과 같은데 이 부분을 어떻게 해석을 하고 보완을 해야할 지 강좌 내용에는 아래와 같은 Train 에 대한 학습 Result 를 하는 내용을 아직 제가 찾지 못해서 데이터를 분석하고 이해하는 법을 알고자 이렇게 두루뭉실하게라도 여쭙니다. 감사합니다.
 - 
      
        
    해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
소스코드는 어디서 받아 볼 수 있나요?
소스코드 공유가 되지 않은거 같아서요
 - 
      
        
    미해결
Tensorflow checkpoint 기능 활용 방법
안녕하세요 딥러닝을 구글colab을 이용하여 공부중인데 현재 이미지 학습 부분을 공부하고 있습니다. 하지만 결제를 하여도 런타임이 24시간이 한계라 훈련이 자꾸 중단되어 epoch를 전부 학습하지 못하고 있습니다! 그래서 1epoch마다 checkpoint를 저장하는 방법을 사용하여 훈련을 하고 있고, 현재 잘 저장이 되고 있습니다. 하지만 저는 항상 3/10 epoch에서 24시간이 지나 훈련이 중단 되는데 그러면 이때 3 까지 저장된 checkpoint를 불러와서 다시 4epoch부터 재 학습을 시킬수 있는방법이 궁금합니다! 검색을 해 보았지만 전부 학습이 완료된 데이터를 불러오는 예제 밖에 없어서 질문 남깁니다! 제가 사용한 코드는 아래와 같습니다. from fastai.imports import * from tensorflow.keras import datasets, layers, models, losses, Model from tensorflow import keras import tensorflow as tf from keras.layers import Dense,Dropout,Activation,Add,MaxPooling2D,Conv2D,Flatten,BatchNormalization from keras.models import Sequential from keras.preprocessing.image import ImageDataGenerator from keras import layers import seaborn as sns from keras.preprocessing import image import numpy as np import cv2 from google.colab.patches import cv2_imshow import matplotlib.pyplot as plt plt.style.use('seaborn-white') data_path = '/content/drive/MyDrive/train_val_data' train_dir = os.path.join(data_path,'train') val_dir = os.path.join(data_path,'test') classes = os.listdir(train_dir) train_datagen = tf.keras.preprocessing.image.ImageDataGenerator( width_shift_range = 0.2, height_shift_range = 0.2, zoom_range = 0.2, vertical_flip=True, rescale = 1. / 255, fill_mode='nearest') val_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale = 1. / 255) train_generator = train_datagen.flow_from_directory( train_dir, target_size=(224,224), batch_size = 32, class_mode = 'categorical' ) val_generator = val_datagen.flow_from_directory( val_dir, target_size=(224,224), batch_size = 32, class_mode = 'categorical' ) base_model = tf.keras.applications.ResNet50(weights = 'imagenet', include_top = False, input_shape = (224,224,3)) for layer in base_model.layers: layer.trainable = False x = layers.Flatten()(base_model.output) x = layers.Dense(720, activation='relu')(x) predictions = layers.Dense(360, activation = 'softmax')(x) opt = tf.keras.optimizers.Adam(learning_rate=0.001) checkpoint_path = "/content/drive/MyDrive/training_resnet50/resnet50_cp.ckpt" checkpoint_dir = os.path.dirname(checkpoint_path) # 체크포인트 콜백 만들기 cp_callback = tf.keras.callbacks.ModelCheckpoint(checkpoint_path, save_weights_only=True, verbose=1) head_model = Model(inputs = base_model.input, outputs = predictions) head_model.compile(optimizer=opt, loss='categorical_crossentropy', metrics=['accuracy']) history = head_model.fit(train_generator, validation_data=val_generator, batch_size=32, epochs=100, callbacks = [cp_callback])
 - 
      
        
    미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
올려주신 코랩 파일 그대로 실행하는데 오류가 납니다.
ImportError: /usr/local/lib/python3.7/dist-packages/mmcv/_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN2at5sliceERKNS_6TensorElN3c108optionalIlEES5_l 런타임 다시 시작 후 실행해도 위와 같은 오류가 나옵니다.
 - 
      
        
    미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Mask RCNN의 config와 모델의 최종 평가에 관해 질문 드립니다.
안녕하십니까! 먼저 좋은 강의를 해 주셔서 감사드립니다. 질문 드리겠습니다. 1. Mask RCNN 학습을 위해 config파일을 불러오고 파라미터를 설정을 합니다. 그리고 inference를 하기 이해 위에서 설정 된 config를 사용을 합니다. 만약. 학습과 inference를 각각 한다면(inference를 이한 주피터 노트북을 따로 생성) inference를 하기 위해 학습때와 동일하게 config를 파일을 불러오고 파라미터를 설정하고 사용을 해야 되나요? 예를 들어 학습시에 config를 파일을 불러오고 파라미터를 설정한 config를 파일로 저장하고 inference시에 그 파일을 불러와서 사용을 할 수도 있나요? 2. Mask RCNN 학습 시에 train과 validation dataset을 구성합니다. validation으로 검증을 하면서 학습을 하고 모델을 생성합니다. 생성된 모델을 평가하기 위해서는 Test 데이터셋으로 평가하는 방법이 궁급합니다. 부탁드립니다.
 - 
      
        
    미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 - 손흥민을 찾아라!
질문이 있습니다!
윈도우 환경에서 파이참 이용해서 하고 있는데 YOLO 사용해서 object detection 프로그램 작성할 때 오류가 발생합니다.
 - 
      
        
    미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
colab 실습 시 google drive mount 관련해서 질문드립니다.
강사님 안녕하세요~! '장시간 Training이 필요한 Colab 실습 진행시 유의사항' 강좌 8:18분 근방의 코드 관련해서 질문드립니다. Colab에서 장기간 Training을 위한 Google drive mount 를 위해서 !python train.py \ --training_data_path="/data/ICDAR2015/train_data/" \ --checkpoint_path="/content/drive/MyDrive/Colab Notebooks/인프런_컴퓨터비전_올인원/6강/east_resnet_50_rbox" 이렇게 코드를 안내해주셨는데요 ... 여기서 !python train.py\ 부분의 의미가 궁금합니다. 또 5강 실습 CRAFT를 이용한 License Plate Detection 모델 학습을 진행하기 위해서 Google drive mount를 적용해보려고 하는데.. 어떻게 코드를 작성해보면 좋을지 여쭤보고 싶습니다. 그럼 답변에 미리 감사드립니다..
 - 
      
        
    미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
backbone 바꾸기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 강의 잘 듣고 있습니다. 몇가지 질문이 있어서 질문드립니다. 만약에 backbone을 바꾸고 싶으면 이와 같이 하면 되나여 ..? 백본을 바꾸난 뒤 init_cfg에있는 checkpoint도 바꾸어야 되는지 궁금합니다.
 - 
      
        
    미해결TensorFlow 2.0으로 배우는 딥러닝 입문
코드 질문
코드 중 하기 부분이 이해되지 않습니다. # 평균 손실을 측정합니다 average_loss += current_loss/total_batch batch for loop 안에서 average_loss += current_loss 를 계산하고 이후 epoch for loop 뒷단에서 average_loss = average_loss/total_batch 를 계산해야 1 epoch당 평균 loss가 계산되는 것이 아닌가요?
 - 
      
        
    해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
Alexnet 구현 코드에서 BN 질문입니다
안녕하세요! 질 좋은 강의에 감사 인사부터 드립니다! 다름이 아니라 해당 강의 7:49초 부터 AlexNet 구현 코드를 설명해주시는데요! 이론적인 부분에서 원래 Alex Net이 LRN(Local Response Normalization)이 적용되지만 구현코드 상 BN을 적용하는 걸로 설명해주셨습니다! 그런데 BN layer 코드를 자세히 보니 AlexNet 구현 과정에서는 '컨볼루션 -> 활성함수 -> BN 적용' 순서로 되어 있더라구요? 물론 이 과정이 잘못되었다는 건 아닌데 보통 '컨볼루션 -> BN 적용 -> 활성함수' 과정으로 진행하는게 대부분 더 모델 최적화에 긍정적인 영향을 미친다고 알고 있어서요! 제가 AlexNet 논문까지는 확인을 안해보았지만 논문 상에서도 LRN(실습 코드에서는 BN)이 활성함수 이후에 적용되는 순서로 되어 있는지 문의드려도 될까요!?