묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
오토인코더 sigmoid
오토인코더 예시에서 ReLu대신에 sigmoid를 사용하는 이유는 무엇인가요?
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
캐글 너무 길게 출력됩니다.
첫번째 사진처럼 너무 길게 출력되어 밑에 사진처럼 변경하고 싶은데 어떻게 변경하나요? 플랫폼은 캐글 사용중입니다.
-
미해결
트랜스포머 모델 언어 변경
안녕하세요!영어로 학습된 모델을 한글로 파인튜닝 시킬 수 있을까요?현재 영어로 된 그림을 텍스트로 변환하는 (비전) 트랜스포머 모델이 있습니다. 이 모델의 기능을 똑같이 한국어에서도 작동되게 모델을 파인튜닝 시키려고 하는데 가능한 작업일까요?생각해 본 방법은 먼저 모델에 한국어 토큰들을 추가한 후 한국어 그림 -> 텍스트 데이터셋으로 학습을 시키는 것인데 다른 방법들이 있는지도 궁금합니다!혹시 이런 상황 경험 있으신 분이나 다른 조언들도 감사히 받겠습니다.
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
IntCastingNaNError: 관련 에러
안녕하세요. ratings = ratings[['user_id', 'movie_id', 'rating']].astype(int) 이 라인을 실행할 때 IntCastingNaNError: Cannot convert non-finite values (NA or inf) to integer라는 에러가 발생합니다. csv로 불러온 'ratings-20m' 데이터인 ratings에 null 값이 있어서 발생하는 에러같은데, 강사님 코드에서는 발생하지 않고 제거에서는 발생하는 이유가 무엇일까요? 그리고 오류를 해결하려면 null값이 있는 행들을 지우면 될까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
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는 다른 의미인가요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part4]
예측하려는 y값이 여러 개일 경우에는 어떻게 하나요?
선생님 안녕하세요.강의 잘 듣고 있습니다.여기에선 y값이 'Global~' 하나 인데현업에서는 y값이 여러 개일 경우가 많은데, 그럴 때는 y_raw_data 컬럼을 어떻게 설정해주나요?
-
미해결[입문자를 위한] 캐글로 시작하는 머신러닝 • 딥러닝 분석
시계열 딥러닝 그래프에서 수치가 달라요
이렇게 강의에 나오는 수치와 다르네요왜그런거죠?
-
해결됨딥러닝 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을 넘기지 못하는 중입니다. 왜 이렇게 나오는 건지 알려주실 수 있을까요?
-
미해결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로 맞추는 것을 강조하셨는데 텍스트 데이터일때는 어떤 형식을 맞추는 것이 중요한지 궁금합니다.
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
tdc 자격증 유효기간지나면
tdc 자격증 유효기간지나면 다시 시험쳐야하는거죠 .?
-
미해결Tensorflow 사용메뉴얼
12강 data split take와 skip
안녕하십니까 강의 너무 잘보고 있습니다!12강 Data Split 부분에서 궁금한 것이 생겨 질문하게 되었습니다.저는 data.skip(10) 코드의 경우 data의 처음 10개 이후의 데이터를 생성해주는 것으로 이해했습니다.그러면 train_validation에서 train을 take(n_train)을 통해 나누고 validation은 skip(n_train)으로 생성하면 되지 않나요?validation 데이터 생성시 skip 이후에 왜 take를 이용해야하는지 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
에어리얼 스페이싱? 이 뭔가요
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와 달리 학습 중에 저장은 안되는 것 같아서요.. 항상 감사합니다 교수님!!
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 추론 단계에서 질문드립니다.
predictions, _ = self.transformer([encoder_input, output], training=False) # seq_len dimension에서 last token을 선택합니다. predictions = predictions[:, -1:, :] # (batch_size, 1, vocab_size) predicted_id = tf.argmax(predictions, axis=-1)트랜스포머 최종 결과값으로batch x seq_len x vocab_size 로 단어의 갯수만큼 확률 분포를 구하는 것을 이해했습니다.그리고 추론단계의 번역이므로 1개의 단어씩 output으로 뽑아야 한다는 것도 알겠는데요.위 코드에서 생성을 위해 seq_len dimension에서 last token을 선택하는 이유(predictions[:, -1:, :] 부분) 는 무엇인가요?
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Decoder 전체(10) 부분에서 attn_weight output shape 관련 질문 드립니다.
sample_decoder = Decoder(num_layers=2, d_model=512, num_heads=8, dff=2048, target_vocab_size=8000, maximum_position_encoding=5000) x = tf.random.uniform((64, 26), dtype=tf.int64, minval=0, maxval=200) output, attn = sample_decoder(x, enc_output=sample_encoder_output, training=False, look_ahead_mask=None, padding_mask=None) output.shape, attn['decoder_layer2_block2'].shape위 코드 결과 output은 (TensorShape([64, 26, 512]), TensorShape([64, 8, 26, 62]))인데요.atten output size 64 x 8 x 26 x 62는batch x head num x seq_len x depth(=len_k) 의 사이즈일것 같은데요.depth의 경우, d_model(512) / num_head(8) = 64 가 되야하는게 아닌지요? 62인 이유가 궁금합니다.