묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하세요 라벨 관련 질문드려요
안녕하세요,제가 직접 가지고 있는 jpg 사진으로 labelme 5.21 버전으로 label하여 json 문서로 출력하려 fast-rcnn이나 mask-rcnn,yolo 으로 segmentation하려고 합니다. 혹시 수업 강의 자료로 할수있는지 궁금해서 질문올립니다~
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
ROI Pooling 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.R-CNN에서는 기존의 이미지를 CNN모델에 넣기 위해서 변형을 하다보니깐(warp), 원본의 정보가 훼손될 수 있다고도 하셨는데,Fast R-CNN에서 Feature Map에서 SS를 매칭시킨 결과를 ROI Pooling에 넣기 위해서 변형하는 것은 F.M의 정보를 훼손 시키지 않는 건가요?아니면, 훼손되더라도 그 결과가 좋기 때문에 그냥 그렇게 ROI Pooling 사이즈에 일괄적으로 맞추는건가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
선생님 강의 너무 잘 듣고 있습니다. 질문이 있습니다.
SPP를 통해서 padding 된 이미지를 가지고 Annotation 파일의 정보와 비교해서 유사도를 측정할텐데 Annotation안에 있는 모든 구역의 정보와 비교하는 것인가요? 예) TV, 사람, 의자 사이즈가 홀수인 경우에는 다른 질문에 응답처럼 padding 한다고 되어있는데 다른 모든 경우에도 정보가 부족하다면 해당 공간을 0으로 채우는 건가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mmsegmentation 응용
안녕하세요.mmdetection 뿐만 아니라 , mmsegmentation 에서도 적용을 해보고자 합니다. 이때 mmdetection에서 사용하는from mmdet.datasets import build_dataset의 경우mmsegmentation에서는 어떻게 import하는지 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
선생님 질문입니다!
SS proposal 영역과 GT가 많이 겹칠 수록 그 이미지가 잘 탐지되었다는 것은 알겠습니다. 다만 하나의 예시로 SS proposal은 'TV'를 예측하고 GT의 경우에는 '사람'을 예측했다면 그것은 잘못된거라 생각하는데 GT에는 label 명이 명시가 되어있지만 SS proposal의 경우에는 그런 부분이 어떻게 설정되는가요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
커스텀데이터셋을 만들고 싶습니다
labelme를 이용해서 CRAFT 학습용 커스텀데이터셋을 만드려고 하는데선생님이 제공해주신 CRAFT 디텍션 커스텀데이터셋 처럼935 362 1034 362 1034 411 935 411 "YG9X2G"좌표 "정답" txt 파일로 안나오고json 파일로 저장이 되는데어떻게 해야되나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolov5(yolov8) val.py 결과 저장 질문
안녕하세요. 강사님. yolov5(yolov8) val.py 결과 저장 질문드립니다.아래와 같이 val.py 를 수행한 결과를 엑셀에 저장하려면 어떻게 해야 하나요? results = model.val()로 val을 수행하고, print(results.class_result(class_index))로 클래스의 precision, recall, map50, map50-95값을 확인할 수 있었습니다.하지만 Images, Instances 값은 어디서 가져와야 하는지를 모르겠습니다...그리고, conf_matrix = results.confusion_matrix.matrix로 cm을 가져왔는데, yolo val 에서 제공하는 box precision, box recall 값과cm 을 통해 계산한 precision, recall 값에 차이가 있는데, 왜 그런지 모르겠습니다.yolo 문서 상으로는 box precision, recall은 IoU 만 중요시하고, class의 정답 유무는 중요시하지 않다고 하는데,보고서나 발표자료에는 yolo의 box precision, reall을 평가지표로 삼아야 하는지, 계산한 precision recall 값을 지표로 삼아야하는지 모르겠습니다.답변 부탁드립니다. 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
settings.json에 올려두신 사진과 동일하게 안뜹니다
처음 세팅중인데 읽기전용이라 떠서 커뮤니티에 뜨는대로 따라했는데 올려두신 사진과 같은 내용이 뜨질않아서 어떻게 세틍을 해야하나 질문드려봅니다..
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
그랩마켓 웹 화면 구현하기 코드
섹션 2HTML & CSS 기본그랩마켓 웹 화면 구현하기 코드 복사할 수 있을까요?컴퓨터를 새로 샀는데 굳이 다시 구현 할 필요가 없어서 그렇습니다.
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Encoder Decoder 부터 Simple Chatbot까지 이상답변
안녕하세요 강사님! Encoder Decoder와 Simple Chatbot 노트북 실행시 아래 스크린샷처럼 이상한 문장들만 출력되던데, 해결책이 있을까요?
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
강의제공자의 답변을 원합니다 AI 답변만 있고 더이상 직접 답변을 안해주시네요?
AI 답변이 어느정도 편리할 수 있단 건 인정하지만, 질문 답변도 강의서비스에 포함된 것인데 어느 순간부터 강의제공자님의 직접답변은 달리지 않고 AI 답변만 달리네요. 그것만으로 전혀 충분하지 않은데 말이죠그리고 AI 답변은 기존 데이터가 없으면 답변을 못해줍니다. 강의제공자로부터 피드백을 받을 수 있을 것을 기대하고 강의를 수강하는데 이렇게 질문답변 조차 제대로 해결이 되지 않고 있는 것은 문제라고 봅니다.몇년 동안 강의를 걸어놓으 실 거면, 그리고 여러 API를 사용하실 거면 적어도 일년에 한번은 UI나 기능에 변화나 업데이트 가 있는지 확인하고 강의에 반영해주셔야 할 것 같은데 아직도 2022년 버전을 그대로 강의에 걸어두셔서 현재 UI와 완전달라 강의 진행이 제대로 안되고 있습니다.이게 정말 제대로 되고 있는게 맞나요? 무료 강의도 아니고 돈내고 듣는 강의에서 기본적인 내용 업데이트 및 강의에 포함된 질문 답변조차 제대로 진행 되지 않는다는 건 매우 실망 스럽습니다.강의 제공자님의 빠른 직접 답변과 피드백 부탁드립니다.
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
케라스모델을 이용한 소프트맥스 서브클래싱에서 call함수는 내장함수인가요?
내장함수는 __call__과 같이 언더바가 있는 거 같은데...혹시 오버라이딩일까요?
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
주피터에서 파일 열기
강의 자료 주피터 안에서 어떻게 여나요?정말 초보라서 잘 모릅니다ㅠㅠ
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Postman UI가 또 바뀌어서 Mockserver 를 찾을 수가 없습니다
제목 그대로 입니다. 가장 최근에 업데이트 해주신게 벌써 2년전인데, 강의를 계속 걸어놓으시려면 적어도 매년 단위로UI 상태에 맞게 해당 부분만이라도 강의를 업데이트 해주셔야 할 것 같습니다.Mock server 부분 도저히 찾지못해 시간만 보내고 진척이 없습니다. 대체 어떻게 해야 하나요?
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
tf.keras.model.reset_states()
파이썬 버전이 다른지 텐서플로우 버전이 다른지 모르겠지만 자꾸 코드가 실행되지 않는 부분들이 있어 조금식 바꿔가면서 강의 듣고 있습니다. 그러던 중 Char-RNN실습에서 tf.keras.Model.reset_states()에 오류가 생겨 질문 드립니다. class exModel(tf.keras.Model): def __init__(self): super(exModel, self).__init__() self.layer = tf.keras.layers.Dense(10, activation = None, kernel_initializer = 'zeros', bias_initializer = 'zeros') def call(self, x): logits = self.layer(x) return logits My_model = exModel() My_model.reset_states()결과 :'exModel' object has no attribute 'reset_states' Tensorflow : 2.16.1Python : 3.10.13실습 파일 : train_and_sampling_v2_keras.py ==================================================================실습 코드 :# -*- coding: utf-8 -*- # Char-RNN 예제 - Keras API를 이용한 구현 # Reference : https://github.com/tensorflow/docs/blob/master/site/en/tutorials/text/text_generation.ipynb from __future__ import absolute_import, division, print_function, unicode_literals #python 2와 호완 from absl import app #Google에서 만든 API / Tensorflow와 같이 쓰이니 공부해두자 import tensorflow as tf import numpy as np import os import time # input 데이터와 input 데이터를 한글자씩 뒤로 민 target 데이터를 생성하는 utility 함수를 정의합니다. def split_input_target(chunk): input_text = chunk[:-1] target_text = chunk[1:] return input_text, target_text # 학습에 필요한 설정값들을 지정합니다. data_dir = tf.keras.utils.get_file('shakespeare.txt', 'https://storage.googleapis.com/download.tensorflow.org/data/shakespeare.txt') # shakespeare #data_dir = './data/linux/input.txt' # linux batch_size = 64 # Training : 64, Sampling : 1 ''' 기존 : [batch_size, data_dimension] 시계열 데이터 : [batch_size, sequence_len,data_dimension] ''' seq_length = 100 # Training : 100, Sampling : 1 #몇 글자를 한 시퀀스로 할 것인가 embedding_dim = 256 # Embedding 차원 hidden_size = 1024 # 히든 레이어의 노드 개수 num_epochs = 10 # 학습에 사용할 txt 파일을 읽습니다. text = open(data_dir, 'rb').read().decode(encoding='utf-8') # 학습데이터에 포함된 모든 character들을 나타내는 변수인 vocab과 # vocab에 id를 부여해 dict 형태로 만든 char2idx를 선언합니다. vocab = sorted(set(text)) # 유니크한 character vocab_size = len(vocab) print('{} unique characters'.format(vocab_size)) char2idx = {u: i for i, u in enumerate(vocab)} ''' character - index(int) mapping ''' idx2char = np.array(vocab) # 학습 데이터를 character에서 integer로 변환합니다. text_as_int = np.array([char2idx[c] for c in text]) # split_input_target 함수를 이용해서 input 데이터와 input 데이터를 한글자씩 뒤로 민 target 데이터를 생성합니다. char_dataset = tf.data.Dataset.from_tensor_slices(text_as_int) sequences = char_dataset.batch(seq_length+1, drop_remainder=True) dataset = sequences.map(split_input_target) # tf.data API를 이용해서 데이터를 섞고 batch 형태로 가져옵니다. dataset = dataset.shuffle(10000).batch(batch_size, drop_remainder=True) #================================데이터 구성=========================================== # tf.keras.Model을 이용해서 RNN 모델을 정의합니다. class RNN(tf.keras.Model): def __init__(self, batch_size): super(RNN, self).__init__() self.embedding_layer = tf.keras.layers.Embedding(vocab_size, embedding_dim) #기본 예제라 특수적으로 임베딩 차원이 더 크게 했다 #batch_input_shape=[batch_size, None] self.hidden_layer_1 = tf.keras.layers.LSTM(hidden_size, return_sequences=True, stateful=True, recurrent_initializer='glorot_uniform') self.output_layer = tf.keras.layers.Dense(vocab_size) def call(self, x): embedded_input = self.embedding_layer(x) features = self.hidden_layer_1(embedded_input) logits = self.output_layer(features) return logits # sparse cross-entropy 손실 함수를 정의합니다. def sparse_cross_entropy_loss(labels, logits): return tf.reduce_mean(tf.keras.losses.sparse_categorical_crossentropy(labels, logits, from_logits=True)) #sparse_categorical_crossentropy : one - hot encoding까지 알아서 해줌 # 최적화를 위한 Adam 옵티마이저를 정의합니다. optimizer = tf.keras.optimizers.Adam() # 최적화를 위한 function을 정의합니다. @tf.function def train_step(model, input, target): with tf.GradientTape() as tape: logits = model(input) loss = sparse_cross_entropy_loss(target, logits) grads = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(grads, model.trainable_variables)) return loss def generate_text(model, start_string): num_sampling = 4000 # 생성할 글자(Character)의 개수를 지정합니다. # start_sting을 integer 형태로 변환합니다. input_eval = [char2idx[s] for s in start_string] input_eval = tf.expand_dims(input_eval, 0) # 샘플링 결과로 생성된 string을 저장할 배열을 초기화합니다. text_generated = [] # 낮은 temperature 값은 더욱 정확한 텍스트를 생성합니다. # 높은 temperature 값은 더욱 다양한 텍스트를 생성합니다. temperature = 1.0 # 여기서 batch size = 1 입니다. model.reset_states() for i in range(num_sampling): predictions = model(input_eval) # 불필요한 batch dimension을 삭제합니다. predictions = tf.squeeze(predictions, 0) # 모델의 예측결과에 기반해서 랜덤 샘플링을 하기위해 categorical distribution을 사용합니다. predictions = predictions / temperature predicted_id = tf.random.categorical(predictions, num_samples=1)[-1,0].numpy() # 예측된 character를 다음 input으로 사용합니다. input_eval = tf.expand_dims([predicted_id], 0) # 샘플링 결과를 text_generated 배열에 추가합니다. text_generated.append(idx2char[predicted_id]) return (start_string + ''.join(text_generated)) def main(_): # Recurrent Neural Networks(RNN) 모델을 선언합니다. RNN_model = RNN(batch_size=batch_size) # 데이터 구조 파악을 위해서 예제로 임의의 하나의 배치 데이터 에측하고, 예측결과를 출력합니다. #Sanity Check : 데이터 문제 없는지 확인 for input_example_batch, target_example_batch in dataset.take(1): example_batch_predictions = RNN_model(input_example_batch) print(example_batch_predictions.shape, "# (batch_size, sequence_length, vocab_size)") # 모델 정보를 출력합니다. RNN_model.summary() # checkpoint 데이터를 저장할 경로를 지정합니다. checkpoint_dir = './training_checkpoints' checkpoint_prefix = os.path.join(checkpoint_dir, "ckpt_{epoch}") for epoch in range(num_epochs): start = time.time() # 매 반복마다 hidden state를 초기화합니다. (최초의 hidden 값은 None입니다.) hidden = RNN_model.reset_states() for (batch_n, (input, target)) in enumerate(dataset): loss = train_step(RNN_model, input, target) if batch_n % 100 == 0: template = 'Epoch {} Batch {} Loss {}' print(template.format(epoch+1, batch_n, loss)) # 5회 반복마다 파라미터를 checkpoint로 저장합니다. if (epoch + 1) % 5 == 0: RNN_model.save_weights(checkpoint_prefix.format(epoch=epoch)) print ('Epoch {} Loss {:.4f}'.format(epoch+1, loss)) print ('Time taken for 1 epoch {} sec\n'.format(time.time() - start)) RNN_model.save_weights(checkpoint_prefix.format(epoch=epoch)) print("트레이닝이 끝났습니다!") sampling_RNN_model = RNN(batch_size=1) sampling_RNN_model.load_weights(tf.train.latest_checkpoint(checkpoint_dir)) sampling_RNN_model.build(tf.TensorShape([1, None])) sampling_RNN_model.summary() # 샘플링을 시작합니다. print("샘플링을 시작합니다!") print(generate_text(sampling_RNN_model, start_string=u' ')) if __name__ == '__main__': # main 함수를 호출합니다. app.run(main)결과 :AttributeError: 'RNN' object has no attribute 'reset_states'tf.keras.layers.Embedding에 batch_input_shape에서 오류가 발생해서,https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding 참고해서 지웠고, 다른 부분은 안 건드렸습니다.tf.keras.layers.Embedding( input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, embeddings_constraint=None, mask_zero=False, weights=None, lora_rank=None, **kwargs )
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
[질문]colab환경에서 텐서보드(TensorBoard)를 이용해서 학습과정 시각화(Visualization)하기강의 관련 질문
안녕하세요. AISchool 강사님 이전 강의와 비슷한 내용의 질문 입니다. colab환경에서 tensorboard 결과를 확인할 수 있는 방법이 없나요? 코드를 colab환경에서 실행시켰는데, 제 드라이버에서는 tensorboard와 관련된 파일이 보이지 않아서 문의 드립니다.
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
[질문]colab환경에서 tf.train.CheckpointManager API를 이용해서 파라미터 저장하고 불러오기 실행에 대한 질문
안녕하세요. AISchool 강사님checkpoint 강의 중 질문사항이 발생해서 질문 드리게 되었습니다.checkpointmanagerAPI를 이용해서 파라미터 저장하고 불러오기 에서 colab에서 실행시키면 model 이라는 디렉터리가 안만들어지 던데.colab은 checkpoint가 동작하지 않는 건가요?colab에서 코드를 실행시킨 후 제 드라이버를 확인해 보면 model 디렉터리가 만들어지지 않고 checkpoint를 저장한 파일들이 보이지 않아서 질문 드립니다.
-
해결됨Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
안녕하세요 강의자료랑 기출문제 요청드립니다.
안녕하세요!!강의자료와 기출문제를 메일로 받아볼 수 있을까요?공부하면서 내용이 필요하여 부탁드립니다~ 메일은 rgn2002@naver.com입니다!!감사합니다
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
일반적인 질문 (kaggle notebook사용)
안녕하세요, 좋은 컨텐츠 만들어주셔서 진심으로 감사드립니다. 수강 중 일반적인 질문하나 드리고 싶습니다.kaggle notebook도 설치되어있는 패키지가 자동적으로 계속 업데이트가 될텐데, 이 경우 이후에 현재 작동중인 코드가 실행되지 못할수도 있을거 같다는 생각이 듭니다.이를 위해서 어떻게 제가 미리 조치를 하면 좋을까요?가령, 강의에서 사용하신 특정 버전 라이브러리로만 구성된 kaggle kernel을 생성한다던가 이런 방법이 있는지 혹은 가능한지 궁금합니다.감사합니다!