묻고 답해요
139만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
데이터 증강
안녕하세요.먼저 좋은 강의 감사합니다. 강의를 듣는 중에 궁금한 점이 몇가지 생겨 질문 남깁니다.이미지 증강 시, 증강 기법을 너무 많이 적용해도 오히려 성능이 떨어지며, 성능을 봐가면서 기법을 선택해야하는 걸로 알고 있습니다. 근데, 어떤 기법이 적절한지 알지 못하는 상황에서 어떻게 탐색해야할까요? 하나씩 적용하고 성능을 보기에는 기법이 너무 다양해서요배치마다 증강 기법을 적용하는 방식으로 진행중인데, 성능이 계속 이전 대비 떨어지는 현상을 보입니다. 확률을 만져줘야 하나요?(현재 0.5)이미지 증강을 사전에 하여 학습 데이터를 늘리는 사람들도 있던데, 이 사람들은 어떤 의도로 그러시는건지 궁금합니다.감사합니다.
-
해결됨설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
이 강의 수강을 위해 fpga 구입이 필요할까요?
설계독학맛비 지식공유자님, 안녕하세요!인프런 운영 매니저 자미라고 합니다.고객센터 통해서, 예비 수강생의 질문이 들어와 제가 대신 여쭤봅니다. 강의 구매 전으로 아래 내용이 필요한 지 여쭤보셨어요. [ 질문 ]hw가속기 강의를 듣기전에 지금 fpga 구입을 해야하는지 궁금하여 문의 드립니다.학교에서 zynq보드랑 fpga보드가 있는데 ps영역도 사용해야하므로, zynq보드를 사용해야할것같은데 저희가 따로 zybo를 구입해야하는지 궁금합니다. 만약 zynq(zedboard)보드로 이용이 가능한지 혹은 외부소자도 따로 구입을 해야하는지 궁금하여 문의글 남깁니다. 감사합니다.+) 세 개 zynq, zybo arty 세 개 중에 추천해주신다면 감사합니다.이라는 내용에 대해 질문해주셔서, 이 부분에 대해 강사님께서 확인 후 답변 남겨주시면 제가 전달해드리도록 하겠습니다.참고로, 저희가 제공하는 [수강 전 문의하기] 라는 기능을 통한다면 수강생이 바로 질문하실 수 있는데요!이 강의는 그 기능을 제공하고 있지 않아 제가 대신 질문을 통해 남기는 점 양해해 주시길 바랍니다. 😃 항상 좋은 지식 나누어 주셔서 감사드립니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Mini-batch Gradient Descent computation time 질문
안녕하세요 선생님시간과 체력이 더 많았으면 좋겠다는 생각이 들 정도로 강의를 너무 재밌게 보고 있습니다Mini batch Gradient Descent 이론 편에서 Mini batch Size에 비례하지 않는다는 설명을 보았는데요.물론 병렬처리를 하기 때문에 정비례하지 않겠지만 GPU에 올릴 수 있는 최대 데이터양이 100개라고 가정한다면 미니배치를 200, 300, .. 이런 식으로 키운다면 미니 배치크기에 따라 비례하는 것은 맞지 않나요?혹시 제가 잘못 생각하고 있다면 말씀해주세요 감사합니다!
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
혹시 AI 관련 강의도 Zybo Board가 필요한가요?
혹시 AI 관련 강의도 Zybo Board가 필요한가요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Huber Loss에 대한 질문
안녕하세요?: 선생님강의 정말 재밌게 잘 보고 있습니다.강의 내용 중에 Huber Loss는 전미분이 한 번밖에 되지 않는다는 단점을 언급해주셨는데요Gradient Descent를 적용할 때는 weight에 대한 편미분만 적용하기 때문에 역전파 시에는 무관한 거 아닐까요?따라서 Epoch를 2 이상의 숫자를 두고 학습하는데 전혀 지장이 없는 거 아닌가요?왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
cnn_kernel.v 코드질문입니다.
안녕하세요 맛비님 강의 잘 보고있습니다.🙂[1. 질문 챕터] : lab2 cnn설계 rtl 중 cnn_kernel 부분에 궁금한 점이 있어서 질문드리게됐습니다. [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂맛비님 솔루션 코드 부분인데,acc_idx가 +1 되는건 1cycle이 지나고 아닌가요?always @(*) begin으로 시작해서 acc_kernel을 0으로 초기화 해주셨고그 아래줄에 r_mul의 인덱스에 해당하는 부분을 for문으로 loop를 돌면서 acc_kernel의 각 인덱스에 값을 할당하는 걸로 보이는데 clk edge 마다 acc_kernel을 0으로 초기화해주는데 아래 for문이 무슨 의미가 있나 싶어 질문하게되었습니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Batch size 가 극단적으로 작은 경우 (예를들어 batch_size =1) Normalization 적용 방안
강사님, 본 강의 들으면서 정말 많은 도움을 받고 있습니다. normalization 에 대해서 이렇게 상세하게 설명해 준 온라인 강의는 본 적이 없네요 🙂 CNN 을 기반으로 하되 모델 파라메터도 엄청 크고, 데이터셋 크기도 매우 큰 경우, 예를 들어 3D Unet 을 구성해서 3차원의 고해상도 (256 x 256 x 256) 이미지를 input 과 output 으로 사용하다보니 GPU 메모리를 너무 많이 잡아먹어서 batch 에 복수의 샘플을 적용하지 못하고 하나의 batch 에 단일 샘플만 적용하는 경우를 study 하고 있는데요, BatchNormalization 을 적용했을 경우 오히려 학습이 잘 안 되는 것 같아서 Normalization layer 를 야예 제거한 후 모델 학습 진행 중이었습니다. 경험적으로 했던 것이었지만 본 강의를 보다 보니 그 이유가 조금 이해가 되기도 하는데요, 이와 같이 batch size 가 극단적으로 작은 경우에 Normalization layer 을 적용 안하는게 더 좋을 수 있나요? 혹은 설명해 주신 table 에 나와 있는 것 처럼 Group Normalization layer 나 Instance Normalization을 적용하는 것이 개념적으로 더 나은 방법일까요? (설명을 들었을 때는 Group Normalization 을 적용하는 것이 필요한 상황으로 이해가 되기도 하는데.. 제가 이해한 것이 맞는지 확인 부탁드립니다 ^^;) 그리고 Group Normalization 에서 "Group" 의 의미가 무엇인지 잘 와닿지가 않아서 (Batch 나 Width, Height, Sample Number 이외에 그룹이 될 수 있는 경우가 무엇인지가 잘 이해가 되지 않습니다.) ... 요 부분에 대해서 좀 더 설명해 주시면 감사드리겠습니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
섹션9 First Autoencoder 인코더, 디코더 모델 생성 오류 해결 방법
강의 14분쯤에서 모델을 변경하는 부분입니다.케라스가 업데이트 된 건지는 잘 모르겠지만 아래 부분에서 시퀀셜 모델이 레이어를 단일 값으로 받을 수 없어 에러가 납니다.encoder = Sequential(Dense(2, input_shape=(3, ))) decoder = Sequential(Dense(3, input_shape=(2, ))) autoencoder = Sequential([encoder, decoder]) autoencoder.summary()아래 처럼 괄호로 감싸 리스트로 넘기면 해결됩니다.encoder = Sequential([Dense(2, input_shape=(3, ))]) decoder = Sequential([Dense(3, input_shape=(2, ))]) autoencoder = Sequential([encoder, decoder]) autoencoder.summary()
-
미해결
Yolov9의 백본 바꾸기 Resnet50으로
https://github.com/WongKinYiu/yolov9/tree/main욜로에서 models.yolo.py나 models.detect.custon.yaml을 제작해 pth로 저장하고자합니다..기존 욜로백본 yolov9.yaml을 수정해도 상관없고, 새로 얌파일을 추가해도 상관은 없는데, 전혀 갈피가 안잡혀서 도움 요청드립니다. 사실 백본을 바꾸기보단 파이토치로 새로 짜보려했는데, 제가 그냥 학습에서 엔지니어링으로 옵션 건드는건 했어도, 아예 레이어 설계하거나 저장하도록 만들어본 적이 없어서 계속 헷갈리네요.. 지금은 프로젝트 코드 다 엎어버렸습니다.
-
미해결TensorFlow Object Detection API 가이드 Part1 - 코드 10줄 수정으로 물체검출하기
버전 오류 23.05파일 포함.
2023 05 버전 해도 오류 납니다. 그리고 4강을 먼저 공부하고 싶어서 해봤는데 버전 오류 나느거 같은데 새로운 버전으로 수정된 강의가 필요합니다----------------------------------import matplotlib import matplotlib.pyplot as plt import io import scipy.misc import numpy as np from six import BytesIO from PIL import Image, ImageDraw, ImageFont import tensorflow as tf from object_detection.utils import label_map_util from object_detection.utils import config_util from object_detection.utils import visualization_utils as viz_utils from object_detection.builders import model_builder %matplotlib inline-------------------------------/usr/local/lib/python3.10/dist-packages/numpy/_core/_dtype.py:106: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar. if dtype.type == np.bool: /usr/local/lib/python3.10/dist-packages/numpy/_core/_dtype.py:106: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar. if dtype.type == np.bool: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-6-49156a41fe80> in <cell line: 15>() 13 from object_detection.utils import config_util 14 from object_detection.utils import visualization_utils as viz_utils ---> 15 from object_detection.builders import model_builder 16 17 get_ipython().run_line_magic('matplotlib', 'inline') 23 frames/usr/local/lib/python3.10/dist-packages/scipy/interpolate/_fitpack_impl.py in <module> 101 102 _parcur_cache = {'t': array([], float), 'wrk': array([], float), --> 103 'iwrk': array([], dfitpack_int), 'u': array([], float), 104 'ub': 0, 'ue': 1} 105 TypeError:
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Normalization 질문
안녕하세요, 수업 설명 감사드립니다. cnn이 아닌 일반적인 fully connected NN (multi-layer perceptron) 에서 혹시 batch/instance/layer normalization 을 어떻게 계산하는지 설명을 부탁드려도 될까요 (그림으로 표현해 주시면 더 좋을거 같습니다.)MLP에서라면 small c가 특정 hidden layer의 node/unit에 대응될거 같고 large C가 layer 전체를 표현할거 같은데, H,W는 무엇인지 이해가 잘 되지 않습니다. 특히, MLP에서 instance normalization의 평균/분산을 구할 수가 있을지 궁금합니다 (단일 값 하나일거 같은데..)강사님께서는 어떻게 생각하시는지 알려주시면 감사드리며, 제가 잘못 이해한 부분이 있으면 코멘트 부탁드리겠습니다. 추가로 하나만 더 질문드리고 싶습니다.강의안에서 x_nhwc는 벡터일까요? 아니면 scalar 값일까요? Normalization의 경우에 feature간 (예, 인풋 변수) 평균도 구하는지, element-wise로 구하는지 궁금해서 여쭤봅니다.바쁘실텐데 시간내주셔서 미리 감사드립니다.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
섹션7 텐서플로 허브 Trained_MobileNet 모델 생성 오류 해결 방법
"Only instances of keras.Layer can be " 97 f"added to a Sequential model. Received: {layer} " ValueError: Only instances of keras.Layer can be added to a Sequential model. Received: <tensorflow_hub.keras_layer.KerasLayer object at 0x791605217610> (of type <class 'tensorflow_hub.keras_layer.KerasLayer'>)위와 같은 오류가 나서 한참 찾았는데요. 원인은 tensorflow_hub와 tensorflow 간의 keras 필요 버전 차이에 있다고 합니다. 아래와 같이 keras를 별도 설치하여 임포트하여 사용하시면 정상 작동됩니다. 같은 에러로 고민이신 분에게 도움이 됐으면 좋겠네요. 수정 소스 코드!pip install tf_kerasimport tf_keras as tfk Trained_MobileNet_url = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/classification/2" Trained_MobileNet = tfk.Sequential([ hub.KerasLayer(Trained_MobileNet_url, input_shape=(224, 224, 3)) ]) Trained_MobileNet.input, Trained_MobileNet.output
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
Custom Dataset 실전 프로젝트 실습 1 - CRNN를 이용한 License Plate OCR 모델(Custom Dataset) 학습
결과 30만 나오는 현상 무엇이 잘못되었을까요?데이터 전부 30만 나옵니다
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
Custom Dataset 실전 프로젝트 실습 1 - CRNN를 이용한 License Plate OCR 모델(Custom Dataset) 학습
recognizer = keras_ocr.recognition.Recognizer()여기서 인식할 수 없는 키워드가 Dense에 전달되었다고 하면서 진행이 되질 않습니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 7 [Activation Function의 종류] Softmax logit 분포와 Entropy 질문이 있습니다
안녕하세요 선생님해당 강의 마지막 참고사항: what is entropy 부분에서 Temperature가 낮을수록 softmax logit의 분포가 쏠리면 Entropy가 감소하게 되는 것이 아닌지 궁금합니다! 확인해주셔서 감사합니다!
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
Custom Dataset 실전 프로젝트 실습 1 - CenterNet을 이용한 License Plate Detection 모델(Custom Dataset) 학습 실습 Solution
- CenterNet을 이용한 License Plate Detection 모델(Custom Dataset) 학습 실습 Solution 실습해보는데 계속 버젼이 달라서 그런지 실행이 안되네요
-
해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
albumentations ShiftScaleRotate
ShiftScaleRotate에서 Only Scale 변환 후 원본 이미지와 사이즈가 같은 이유가 무엇인지 궁금합니다.ShiftScaleRotate 내부에서 원본 크기로 resize해주는 것인지 내부에서 Super Resolution을 적용해주는 것인지 궁금합니다. 화질이 손상되지 않은거 같아서 여쭈어봅니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 3 [실습] PyTorch로 구현해보는 Loss Function의 Cross Entropy 구현 관련하여 질문이 있습니다.
안녕하세요 선생님,batch_size = 16 n_class = 10 def generate_classification(batch_size=16, n_class=10): pred = torch.nn.Softmax()(torch.rand(batch_size, n_class)) ground_truth = torch.argmax(torch.rand(batch_size, n_class), dim=1) return pred, ground_truth def CE_loss(pred, label): loss = 0. exp_pred = torch.exp(pred) # 이 부분 관련 질문이 있습니다. for batch_i in range(len(pred)): for j in range(len(pred[0])): if j == label[batch_i]: print(pred[0], j) loss = loss + torch.log(exp_pred[batch_i][j] / torch.sum(exp_pred, axis=1)[batch_i]) return -loss / len(pred)CE loss를 구현하는 과정에서 exp_pred = torch.exp(pred) 행이 왜 필요한 것인지 궁금합니다!exp를 취해주는 이유는 모델의 출력값 logits에 exp를 적용해 각 클래스에 대한 예측값을 양수로 변환한다고 알고 있는데generate_classification위에서 이미 softmax를 취해서 확률분포로 변환해주기 때문에 음수 값은 나오지 않는데 왜 exp를 적용해주어야 하는지 모르겠어서 여쭤봅니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss "미분가능"관련 에서 질문이 있습니다.
안녕하세요 선생님!Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss 에서 질문이 있습니다."미분 가능"에 대해서 궁금한 점이 있는데,MAE loss처럼 0에서 미분이 불가능 한 경우에는 gradient를 계산할 수 없는데 어떻게 해당 loss를 사용할 수 있는 것인가요?또 Huber loss는 한 번만 전 구간 한번만 미분가능하고,Log Cosh loss는 전 구간 2번 이상 미분가능하다고 말씀해주셨는데한 번만 미분 가능한 것보다 2번 이상 미분가능한 것의 장점이 무엇인가요?확인해주셔서 감사합니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 15 실습 중, lstm 클래스의 forward 함수 질문
안녕하세요, 먼저 좋은 강의 제공해 주셔서 감사하게 잘 듣고 있다는 감사 말씀 드리고 싶습니다.질문 사항은,수업 중 정의하신 lstm 클래스의 forward 함수를 아래와 같이 정의 하셨는데요,class LSTM(torch.nn.Module): def __init__(self, vocab_size, embedding_dim, hidden_dim, num_layers, n_classes) -> None: super(LSTM, self).__init__() self.vocab_size = vocab_size self.embedding_dim = embedding_dim self.embedding = torch.nn.Embedding(vocab_size, embedding_dim) self.lstm = torch.nn.LSTM(input_size=embedding_dim, hidden_size=hidden_dim, num_layers=num_layers, batch_first=True, dropout=0.2) self.fc = torch.nn.Linear(in_features=hidden_dim, out_features=num_classes) self.sigmoid = torch.nn.Sigmoid() def forward(self, x): x = self.embedding(x) x, (h_n, c_n) = self.lstm(x) x = torch.sum(h_n, dim=0) x = self.fc(x) return xforward 함수의 마지막 부분에서 fc를 통과한 x를 self.sigmod 함수에 통과 시키지 않고 return 하여도 되는건지 궁금합니다.