묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
강의에서 소개된 모델중 현 프로젝트에 가장 어울리는 모델
안녕하세요 강사님. 정말 좋은 강의 감사합니다. 현재 Fast R-CNN 까지의 학습을 완료한 상태입니다.친절하고 꼼꼼한 설명덕분에, AI 에 완전히 입문입에도 불구하고 이해가 잘 되며 강의를 따라가고 있습니다.학교 프로젝트에서 AI 역할을 맡으면서 이 강의를 수강하게 되었습니다. 제가 아예 AI 쪽에 문외한이었다보니, 강사님께서 소개해주시는 모델중에서 어떤 것을 선택해야하는지 감이 잡히지 않습니다. 최종 선택은 저의 몫이긴 하나, 강사님께서 고견을 실례를 무릅쓰고 여쭤보고 싶습니다.저희 프로젝트에서 AI 의 역할은 다음과 같습니다.1. 웹캠 또는 웹카메라를 이용하여 식물을 촬영 (실시간은 아니어도 되고, 하루에 한번은 촬영을 해야합니다.)2. 해당 사진 / 영상을 통해 다음과 같은 정보를 식별 i) 잡초 여부 ii) 병충해 여부 iii) 과일이 있다면, 과일의 익은 정도 (상했는가 YES/NO 로 classfication 도 괜찮습니다.) iv) 얼만큼 자랐는가 - iv) 는 필수이고 i)~iii) 중에선 하나 정도 진행하고자 합니다.이를 수행하기 위해선 어떤 모델을 선택하는게 좋을까요? 그리고 해당 AI 서버를 구축하기 위해선 어떤 다른 지식들이 필요한지 키워드 정도만 알려주시면 정말 감사하겠습니다. (키워드만 알려주시면 나머지 학습은 제가 하겠습니다.)
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
섹션 8. keras sequence 기반의 dataset 관련 질문입니다.
안녕하세요 교수님!keras sequence 기반 dataset에서 label을 one-hot encoding을 해주는 과정에서,pd.get_dummies와 pd.factorize를 소개해주셨는데.. 만약 강의에서와 달리 pd.factorize로 인코딩하지 않고, pd.get_dummies로 인코딩했다면 모델 생성 부분에서 마지막 layer에output = Dense(2, activation='softmax')(x)로 바꿔준다면 동일한 로직인 것이 맞겠죠..? 또 다른 질문으로는, 이진 분류라면 아무래도 softmax 보다는 sigmoid를 사용하는 편이 더 나은 것인지 궁금합니다! (혹시 성능적으로 더 좋을까요...?)좋은 강의 정말 감사합니다!!
-
미해결TensorFlow Object Detection API 가이드 Part1 - 코드 10줄 수정으로 물체검출하기
python -m pip install . 이 아예 안되서 전체 다 수행할 수 없습니다.
어제 구매했는데 조금 속상하네요ㅠ설치 부터가 안 되니.. 뭘 시도할 수가 없습니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
사전 훈련 모델 VGG16을 이용하여 CIFAR10 학습 모델 구현 성능
CIFAR10_Pretrained_01에서 성능이 매우 낮게 나와서 공유된 코드 복붙도 해보고 껐다 켜보기도 했지만 결과가 이상합니다. 뭐가 문제일까요?
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
ImageDataGenerator 질문
Generator랑Augmentation이랑 같은건가요? 코드에서 아래 부분을 이미지데이터에서의 fit_transform이랑 비슷하다고 생각하면 되나요? # ImageDataGenerator 적용. fit()후 flow()로 image batch를 넣어주어야 함.data_generator.fit(image_batch)data_gen_iter = data_generator.flow(image_batch)# ImageDataGenerator를 동작하기 위해서는 next()등으로 iteration을 호출해야함.aug_image_batch = next(data_gen_iter)아래 코드를 실행하기 전에 type이 float일 때랑 코드를 실행해서 int일 때랑 값은 큰 차이가 없는데 왜 show_image 했을 때 그림이 다르게 나오는건가요? aug_image = aug_image.astype('int')저는 width_shift 했을 때 위아래로 되는 거 같은데... 교수님 코드랑 결과가 다릅니다.. 교수님 코드처럼 width_shift는 좌우 이동으로 생각하면 되나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mm_faster_rcnn_train_coco_bccd관련 질문입니다.
gup를 1 이상 하고 싶을 때 사용하라고 하신 코드를 실행하니 아래와 같은 에러가 계속 생기네요.(맨 마지막 줄 outputs에서 sigle_gpu_test 함수를 sigle_gpu_test_batch 함수로 바꿔서 실행하셔야 합니다.) AttributeError: 'MMDataParalle' object has no attribute 'show_result'혹시 올려주신 코드가 잘 못 됐을까 mmdetection github에서 직접 확인해 봤지만 코드는 동일한 것으로 확인 했니다. 혹시 해결 방법을 아시는지 여쭙니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Mask R-CNN 처리 속도
안녕하세요, 선생님. 영상에서 실시간 객체 탐지가 가능한 semantic segmentation모델을 개발하고싶습니다.보통 mask r-cnn에서 처리속도가 5fps라고 하는데 강의에서 제공된 mask r-cnn도 처리속도가 5fps인가요? 모델의 이러한 영상 처리속도는 어떻게 알 수 있나요?처리속도를 높이려면 어떻게 해야하나요?감사합니다.
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
기출문제 요청
안녕하세요. 텐서플로 자격증 강의의 세부 목차 [기출문제 총 정리] 에 나온 기출 문제 관련 요청 문의드립니다.강사님께서 강의 하단 내용에 쓰여놓으시기로는, 슬랙에서 김민성 매니저님께 기출문제 문의드리면 된다고 강의 내용에 쓰여 있는데 직접 문의드리는 법을 알지 못하여 이곳에 문의드립니다.실례지만 혹시 확인 부탁드려도 괜찮을지요?메일로 보내주신다면 감사할 것 같습니다.감사합니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Mac jupyter notebook 영상 읽어들이지 못하는 문제
교수님 안녕하세요. OpenCV를 통해 영상 처리를 진행하는 과정에서 문제가 발생해 질문 드립니다.import cv2 video_input_path = './data/Night_Day_Chase.mp4' video_output_path = './data/Night_Day_Chase_out.mp4' cap = cv2.VideoCapture(video_input_path) codec = cv2.VideoWriter_fourcc(*'XVID') vid_size = (round(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),round(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))) #(200, 400) -> (열, 행) vid_fps = cap.get(cv2.CAP_PROP_FPS ) vid_writer = cv2.VideoWriter(video_output_path, codec, vid_fps, vid_size) frame_cnt = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) print('총 Frame 갯수:', frame_cnt, 'FPS:', round(vid_fps), 'Frame 크기:', vid_size)위의 코드를 실행시켰을 때 다음과 같은 결과 값이 출력됩니다.위의 결과 값을 보고 미리 저장해두었던 Night_Day_Chase.mp4 파일을 확인해본 결과, 주피터노트북 상에서는 영상이 아예 실행되지 않지만, local 노트북 자체에서는 영상이 정상적으로 실행됨을 확인할 수 있었습니다. 아래에 주피터 노트북 화면과, 주피터 노트북에서 영상 실행 시 나타나는 화면 사진 첨부합니다.주피터 노트북 자체의 문제일까요? 어떤 점이 문제인지 명확히 파악이 안됩니다.조언 해주시면 감사하겠습니다. 현재 제 개발환경은 다음과 같습니다.Mac Ventura 13.1jupyter notebook 6.5.4OpenCV 4.5.1Python 3.9.0 감사합니다 :)
-
미해결Tensorflow 사용메뉴얼
multiple inputs
예시에서는 독립변수가 하나밖에 존재하지 않은데 2개 이상일때는 call 메서드에 어떻게 적용시키나요? 참고로 from_tensor_slices로 dataset을 만들었을 때 궁금합니다. 아래의 코드는 제가 만든 모델 코드의 일부분 입니다. 다음과 같이 from_tensor_slices로 총 7개의 변수를 가진 tf.dataset을 생성했습니다.이후 main model의 call 메서드에 인자를 다음과 같이 6개를 지정해서 model을 학습시켰습니다. 이렇게 하는게 맞는지 궁금합니다. train_ds = tf.data.Dataset.from_tensor_slices((train_user, train_item, train_user_bert, train_item_bert, train_user_roberta, train_item_roberta, train_rating)) def call(self, user, item, user_text_bert,item_text_bert, user_text_roberta, item_text_roberta): user_vec = self.user_emb(user) item_vec = self.item_emb(item) for epoch in range(Epochs): for a, b, c, d, e, f, g in train_ds: with tf.GradientTape() as tape: predictions = model(a, b, c, d, e, f) loss = loss_object(g, predictions) gradients = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(gradients, model.trainable_variables)) train_loss(loss)
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Simple Chatbot 만들기 질문입니다.
안녕하세요, 'Simple Chatbot 만들기' 관련하여 진행하다가 문의드립니다.새롭게 최신 학습용 zip 파일을 다운받아서, 콜랩에서 해당 실습 파일 올리고, 바로 전체 셀 실행 테스트 해도,질문에 대한 답변이, 계속 같은 답변으로만 나오고 있는 증상입니다.sentencepiece 같은 모듈 설치시, 시간이 지나, 버전 차이로 인한 문제일까요?이상입니다.
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
커밋 메시지가 잘 이해 안됩니다
커밋 메시지가 뭔가요?git commit -m "project init" 에서"project init" 대신 다른 것을 써넣어도 작동하나요?"project init" 이 어떤 역할을 하는지 잘 모르겠습니다.
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
오토인코더 sigmoid
오토인코더 예시에서 ReLu대신에 sigmoid를 사용하는 이유는 무엇인가요?
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
캐글 너무 길게 출력됩니다.
첫번째 사진처럼 너무 길게 출력되어 밑에 사진처럼 변경하고 싶은데 어떻게 변경하나요? 플랫폼은 캐글 사용중입니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
AutoML EfficientDet Inference 수행 결과 분석 및 시각화 질문
config.nms_configs.score_thresh = 0.4 이렇게 설정했기 때문에 confidence score가 0.4 밑인 것을 걸러낸다고 하셨습니다. 제가 알고 있기로는 nms에서 threshold값을 0.4로 준다는 것은 confidence score을 내림차순으로 정렬하고 iou가 threshold 이상인 값을 삭제한다고 알고 있었습니다만 AutoML에서 말하는 confidence score는 다른 의미인가요?
-
해결됨딥러닝 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을 넘기지 못하는 중입니다. 왜 이렇게 나오는 건지 알려주실 수 있을까요?
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
node server.js 실행 시 오류 발생
Express에서 데이터 처리하기 강의 수강 중에 생긴 오류 입니다. 이후에 포스트맨에서 body 수정 후 send 시에도 Error: connect ECONNREFUSED이 오류가 떳습니다.index.js를 실행 후에 웹 브라우저에 http://localhost:8080/products 입력하면 [{"name":"농구공","price":5000}] 이렇게 웹 화면에 뜨면서 node:events:492 thorw er;도 같이 뜨면서 서버 에러가 납니다 database.sqlite3을 vs코드 열었을 때는 위 사진처럼 뜨고sqllite로 열었을 때는 읽을 수 없다고 뜹니다
-
미해결Tensorflow 사용메뉴얼
epoch 1부터 loss가 너무 낮게 나와 학습이 안되네요
ratio = 0.2 x_train = tf.random.normal(shape = (300,), dtype = tf.float32) y_train = 3 * x_train + 1 + ratio * tf.random.normal(shape = (300, ), dtype = tf.float32) x_test = tf.random.normal(shape = (30,), dtype = tf.float32) y_test = 3 * x_test + 1 + ratio * tf.random.normal(shape = (30, ), dtype = tf.float32) class LinearPredictor(Model): def __init__(self): super(LinearPredictor, self).__init__() self.d1 = Dense(1, activation = "linear") def call(self, x): x = self.d1(x) return x model = LinearPredictor() loss_object = tf.keras.losses.MeanSquaredError() optimizer = SGD(learning_rate=0.01) for epoch in range(5): for x, y in zip(x_train, y_train): x = tf.reshape(x, (1, 1)) with tf.GradientTape() as tape: predictions = model(x) loss = loss_object(y, predictions) gradients = tape.gradient(loss, model.trainable_variables) optimizer.apply_gradients(zip(gradients, model.trainable_variables)) print(f"Epoch: {epoch + 1}") print(f"Train Loss: {loss:.4f}") 강사님이랑 똑같이 코드를 짠것 같은데 train loss가 너무 낮게 나와 학습이 안되네요. 틀린곳이 있는건지 데이터가 너무 심플하게 생성되서 그런건지 잘 모르겠습니다.
-
미해결Tensorflow 사용메뉴얼
텍스트 데이터일 때의 dtype
강의에서 데이터의 형식을 tf.float32로 맞추는 것을 강조하셨는데 텍스트 데이터일때는 어떤 형식을 맞추는 것이 중요한지 궁금합니다.