묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
201_classify_text_with_bert_tfhub_Kor.ipynb 오류
안녕하세요?201_classify_text_with_bert_tfhub_Kor.ipynb 소스 수행 시 아래와 같은 오류가 납니다.구글 colab gpu에서 돌리고 있습니다. (오류 이미지도 같이 첨부합니다.)왜 오류가 나는지 답변 부탁 드립니다. ValueError Traceback (most recent call last) <ipython-input-17-3b4b1d94b15e> in <cell line: 1>() ----> 1 classifier_model = build_classifier_model() 2 bert_raw_result = classifier_model(tf.constant(text_test)) 3 4 print(bert_raw_result) 5 print(tf.sigmoid(bert_raw_result)) 7 frames/usr/local/lib/python3.10/dist-packages/keras/src/backend/common/keras_tensor.py in __array__(self) 59 60 def __array__(self): ---> 61 raise ValueError( 62 "A KerasTensor is symbolic: it's a placeholder for a shape " 63 "an a dtype. It doesn't have any actual numerical value. " ValueError: Exception encountered when calling layer 'preprocessing' (type KerasLayer). A KerasTensor is symbolic: it's a placeholder for a shape an a dtype. It doesn't have any actual numerical value. You cannot convert it to a NumPy array. Call arguments received by layer 'preprocessing' (type KerasLayer): • inputs=<KerasTensor shape=(None,), dtype=string, sparse=None, name=text> • training=None
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
코랩 세션 다운
안녕하세요. 학습에 관련하여 질문이 있어 남깁니다. 현재 코랩에서 이미지 데이터에 대한 학습을 진행 중에 있습니다. import os.path as osp mmcv.mkdir_or_exist(osp.abspath(cfg.work_dir)) train_detector(model, datasets, cfg, distributed=False, validate=True)위와 같은 코드를 진행하였을 때, epoch 1번 수행 후 세션이 종료 됩니다. 위와 같은 문제로 validate=false로 진행 할 경우, 학습은 잘 작동하지만 validation에 대한 loss값만 표시되고 AP 값은 나오지 않아 학습된 모델의 평가를 어떻게 진행해야 할지 의문입니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
안녕하세요 교수님
'Dense Layer로 Fashion MNIST 예측 모델 구현하기 - 이미지 데이터 확인 및 사전 데이터 처리' 강의코드중 궁금한 내용이 있어 질문드립니다.train_images[0, :, :] 코드를 사용하셨는데 train_images[0]이 아닌 이미지 인덱스에 전체 행과 열을 불러오는 부분을 추가하신 특별한 이유가 있을까요?
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
매트릭스로 만들어주는 것
part1의 실습 - 선형회귀모델 - 당뇨병진행률 예측에서 질문 있습니다! diabetes_X를 정의할 때 reshape해주는 게 매트릭스를 만들기 위해서라고 해주셨는데요!혹시 그럼 Test 셋을 정의할 때에는 그럴 필요가 없는 건가요?(??,)인 걸 (??,1)로 만들어주는 RESHAPE를 diabetes_X할 때는 했는데, diabetes.target은 그냥 (??,) 형태인데도 따로 그 과정을 안 거치는 지 궁금합니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
2-8 fully connected NN answer 코드 중 torch.nn.Linear 질문드립니다!
안녕하세요. 강의 잘 듣고있습니다 :D아래 코드에서 torch.nn.Linear에 해당하는 부분이 강의서 말씀해주신 aggregation에 해당되는 부분일까요? 편의상 bias 벡터는 생략된걸까요..? class Model(torch.nn.Module) : def __init__(self) : super(Model, self).__init__() self.layers = torch.nn.Sequential( # 첫번째 레이어 torch.nn.Linear(in_features = 128, out_features = 64, bias = True), # 첫번째 레이어의 activation 함수 torch.nn.Tanh(), # 두번째 레이어 torch.nn.Linear(in_features = 64, out_features = 16, bias = True), # 두번째 레이어의 activation 함수 torch.nn.Tanh(), # 세번째 레이어 torch.nn.Linear(in_features = 16, out_features = 1, bias = True), # 세번째 레이어의 activation 함수 torch.nn.Sigmoid() ) def forward (self, x) : return self.layers(x)
-
해결됨실전 인공지능으로 이어지는 딥러닝 개념 잡기
경사하강법에서 다중레이어에서의 가중치를 구할 때 식이 이해가 가질 않습니다 ㅠ.ㅠ
y hat을 w11로 미분한 값을 구할 때 위 표시처럼 2가 곱해져야 하는 게 아닌가요??
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하십니까! 질문이 있습니다.
32 32 에서는 보다 작은 이미지들이 검출되고4 * 4에는 보다 큰 이미지들이 검출된다고 말씀하셨는데. FC layer은 사이즈 마다 실행되는건가요?예를들어 32 32에서는 사람이 검색되고 4 4에서는 자동차가 검출되었다고 했을 때 32 32에서도 FClayer가 수행이되고 4 4에서도 FClayer가 수행되서 결과로는 자동차 & 사람 모두가 검출되는 원리 인건가요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
ToTensor와 DataLoader관련질문드립니다!
안녕하세요! 이론적 이해가 아직까지는 잘되나 코드에서 잘 이해가 가지않는 부분이 있어 질문드립니다~ToTensor에서 왜 0~255를 0~1값으로 스케일링 하는 이유는 무엇인가요?DataLoader 에서 데이터를 미니배치로 넘기면 가로,세로 길이가 32로 바뀌는 이유는 무엇인가요? squeeze 함수를 찾아보니 길이가 1인 차원이 없는 행 백터, 열백터, 스칼라 배열을 삭제한다고 하는데, 아래에서 사용되는 이유는 무엇인가요?train_features, train_labels = next(iter(train_dataloader)) # train_features.size()는 64개로 세분화된 미니배치 크기, 채널, 가로, 세로 길이를 보여준다. print("Feature batch shape : {}".format(train_features.size())) # train_labels.size()도 미니배치 크기만큼 있는 것을 확인할 수 있다. print("Labels batch shape : {}".format(train_labels.size())) img = train_features[0].squeeze() # squeeze() 길이가 1인 차원이 없는 행 백터, 열백터, 스칼라 배열을 삭제한다. label = train_labels[0] plt.imshow(img.permute(1,2,0)) plt.show print("Label : {}".format(labels_map[label.item()]))
-
해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
가중치 초기화(Weight Initialization) 질문입니다.
안녕하세요 교수님, CNN 강의와 같은 좋은 수업 감사드립니다.다름이 아니라 가중치 초기화를 공부하다가 생긴 궁금증에 질문 글을 달아봅니다.교수님께서 강의 하실 때 평균이 0, 표준 편차 1인 표준 정규 분포에서 Weight 초기화시 sigmoid 출력이 대부분 0과 1로 수렴하신다고 하셨는데이렇게 되는 이유가 평균이 0, 표준 편차가 1인 표준 정규 분포에서 Weight를 초기화하면 처음에 Weight값이 너무 작거나 혹은 너무 큰 값들로 배정되기 때문에 저렇게 되는 걸까요?즉, Weight값이 -1 ~ 1까지의 값들 중 임의로 배정되기 때문에 그런건가요?반대로 Sigmoid 출력이 대부분 0.5로 수렴하는 경우에는 -0.01 ~ 0.01중 Weight 값이 결정되기 때문에 그런걸까요?
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
MF알고리즘에서 질문이있습니다.
안녕하세요! 강의를 듣다 응용해보는 과정에서 질문이있습니다. 한번 학습시킨 모델에서 사용자의 데이터를 더 추가해서 동적으로 모델을 업데이트 시키고 싶습니다. 그래서 온라인학습을 진행하려고 하는데, sgd메서드에 데이터를 전달하여 업데이트를 진행하는 방식은 어떻게 생각하시는지 여쭤봐도되겠습니까? 감사합니다!
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
ean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum() 부분에서 질문이있습니다.
ean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum()이부분에서 sim_scores.sum()값은 항상 0이 아닌게 보장이 되는건가요? 직접 데이터를 생성해서 테스트 해보면 음수이거나 0일때도 있더라구요!... 데이터가 잘못된건지 아니면 0일수도 있는건지 궁금합니다.
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 실습 파일 실행 시 에러가 발생합니다.
130_Transformer.ipynb를 코랩 환경에서 실행하는데 25번째 코드 셸을 실행하면 에러가 발생합니다.위의 모든 코드 셸을 실행한 뒤에 다음 코드를 실행하면 ValueError: Exception encountered when calling PositionalEmbedding.call().Invalid dtype: <property object at 0x7d6f6aff73d0> Arguments received by PositionalEmbedding.call(): • x=tf.Tensor(shape=(64, 110), dtype=int64) 이런 에러가 발생합니다. 어디가 문제이며 어떻게 해결을 해야 할까요? # 포르투갈어와 영어를 위한 위치 인코딩 임베딩 레이어 생성 embed_pt = PositionalEmbedding(vocab_size=tokenizers.pt.get_vocab_size(), d_model=512) embed_en = PositionalEmbedding(vocab_size=tokenizers.en.get_vocab_size(), d_model=512) # 포르투갈어 입력에 대한 임베딩 적용 pt_emb = embed_pt(pt) # 영어 입력에 대한 임베딩 적용 en_emb = embed_en(en)
-
미해결모두를 위한 대규모 언어 모델 LLM Part 3 - 구글 제미나이(Google Gemini) API, OpenAI API와 젬마(Gemma)로 AI 어플리케이션 만들기
강의 슬라이드 공유가 가능할까요?
LLM Part 1 과 Part 2 는 강의 슬라이드를 공유해 주셨는데 Part 3 는 강의 슬라이드가 없어서 문의드립니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
Fine-tuning 모델 성능 지표
llama2 를 fine-tuning 했을때, 다른 모델들 처럼 f1 스코어나 혹은 다른 성능 지표를 이용해 성능을 정량화 할 수 있나요?어떤 방법이 있고 어떻게해야 fine-tuning 한 모델의 성능을 정량적으로 지표화 할 수 있을까요?
-
해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류
안녕하세요.테스트 데이터셋을 predict하는 부분에서 오류가 나서 질문드립니다. test_path = test_df['path'].values test_ds = Plant_Dataset(image_filenames=test_path, labels=None, image_size=IMAGE_SIZE, batch_size=BATCH_SIZE, augmentor=None, shuffle=False, pre_func=xcp_preprocess_input) preds = xcp_model_01.predict(test_ds) --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[40], line 7 3 test_path = test_df['path'].values 4 test_ds = Plant_Dataset(image_filenames=test_path, labels=None, image_size=IMAGE_SIZE, batch_size=BATCH_SIZE, 5 augmentor=None, shuffle=False, pre_func=xcp_preprocess_input) ----> 7 preds = xcp_model_01.predict(test_ds) File /opt/conda/lib/python3.10/site-packages/keras/src/utils/traceback_utils.py:123, in filter_traceback.<locals>.error_handler(*args, **kwargs) 120 filtered_tb = _process_traceback_frames(e.__traceback__) 121 # To get the full stack trace, call: 122 # `keras.config.disable_traceback_filtering()` --> 123 raise e.with_traceback(filtered_tb) from None 124 finally: 125 del filtered_tb File /opt/conda/lib/python3.10/site-packages/tree/__init__.py:435, in map_structure(func, *structures, **kwargs) 432 for other in structures[1:]: 433 assert_same_structure(structures[0], other, check_types=check_types) 434 return unflatten_as(structures[0], --> 435 [func(*args) for args in zip(*map(flatten, structures))]) File /opt/conda/lib/python3.10/site-packages/tree/__init__.py:435, in <listcomp>(.0) 432 for other in structures[1:]: 433 assert_same_structure(structures[0], other, check_types=check_types) 434 return unflatten_as(structures[0], --> 435 [func(*args) for args in zip(*map(flatten, structures))]) AttributeError: 'NoneType' object has no attribute 'shape' test_image_batch, test_label_batch = next(iter(test_ds))print(test_image_batch.shape, test_label_batch)의 출력이 (32, 224, 224, 3) Nonehistory.history['val_auc']의 출력이 [0.9417113065719604, 0.9647012948989868, 0.9738287925720215, 0.9816075563430786, 0.9799161553382874, 0.9804703593254089, 0.9877450466156006, 0.9854006767272949, 0.9803326725959778, 0.9843235611915588]학습도 완료됐고 Plant_Dataset도 제대로 작동하고 있습니다.AttributeError:'NoneType' object has no attribute 'shape'으로 어느 부분이 문제가 되는지 질문드립니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 [데이터과학 Part3]
섹션 7-4 당뇨병
당뇨병 문제에서 직접 이상치 제거하는 게 손실 함수 줄이는데 도움이 될거라고 생각했는데 오히려 너무 커져버려서 왜 그런 건지 궁금합니다. 또 직접 제거하는 방식 말고 다르게 이상치 탐지하는 게 딥러닝에는 따로 있나요?
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
score를 실행하면 항상 nan이 출력됩니다
안녕하세요! score를 실행할때마다 nan이 출력이되서 잘못쓴 부분이 있나 여러번 체크해봤는데 도저히 모르겠어서 질문남겨봅니다..import pandas as pdimport osimport numpy as npfrom sklearn.model_selection import train_test_split# 사용자 u.user파일을 DataFrame으로 열기base_src = './drive/MyDrive/RecoSys/Data'os.listdir('./drive/MyDrive/RecoSys/Data')###### 데이터불러오기 ###### os.path.join -> 경로 합치기u_user_src = os.path.join(base_src,'u.user')u_cols = ['user_id','age', 'sex', 'occupation','zip_code']users = pd.read_csv(u_user_src,sep='|',names = u_cols,encoding='latin-1')users = users.set_index('user_id')users.head()u_item_src = os.path.join(base_src,'u.item')i_cols = ['movie_id','title','release date','video release date','IMDB URL','unknown','Action','Adventure','Animation','Children\'s','Comedy','Crime','Documentary','Drama','Fantasy','FilmNoir','Horror','Musical','Mystery','Romance','Sci-Fi','Thriller','War','Western']movies = pd.read_csv(u_item_src,sep='|',names = i_cols,encoding='latin-1')movies = movies.set_index('movie_id')movies.head()u_data_src = os.path.join(base_src,'u.data')r_cols = ['user_id', 'movie_id', 'rating', 'timestamp']ratings = pd.read_csv(u_data_src,sep ='\t',names = r_cols,encoding='latin-1')# ratings = ratings.set_index('user_id')ratings.head()# 실제값과 예측값을 넣기def RMSE(y_true, y_pred):return np.sqrt(np.mean((np.array(y_true) - np.array(y_pred)) **2 ))# # 모델별 RMSE를 계산 하는 함수def score(model, neighbor_size=0):id_pairs = zip(x_test['user_id'], x_test['movie_id'])y_pred = np.array([model(user,movie,neighbor_size) for (user,movie) in id_pairs])y_true=np.array(x_test['rating'])return RMSE(y_true,y_pred)# 데이터셋 만들기x = ratings.copy()y = ratings['user_id']x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.25,stratify=y)ratings_matrix = x_train.pivot(index = 'user_id', columns = 'movie_id', values = 'rating')# 코사인 유사도 계산from sklearn.metrics.pairwise import cosine_similarity## 코사인 유사도를 구하기 위해 rating값을 복제하고, 계산 시 Nan값 에러 대비를 위해 결측치를 0으로 대처matrix_dummy = ratings_matrix.copy().fillna(0)## 모든 사용자 간 코사인유사도를 구함user_similarity = cosine_similarity(matrix_dummy,matrix_dummy)## 필요한 값 조회를 위해 인덱스 및 칼럼명 지정user_similarity = pd.DataFrame(user_similarity,index=ratings_matrix.index, columns=ratings_matrix.index)# Neighbor size를 정해서 예측치를 계산하는 함수def CF_knn(user_id, movie_id, neighbor_size=0):if movie_id in ratings_matrix.columns:sim_scores = user_similarity[user_id].copy()movie_ratings= ratings_matrix[movie_id].copy()none_movie_ratings = movie_ratings[movie_ratings.isnull()].index# print(none_movie_ratings)moive_ratings = movie_ratings.dropna()sim_scores = sim_scores.drop(none_movie_ratings)# print(sim_scores)# 여기까지는 동일(0일 경우는 일반적인 cf)if neighbor_size == 0:mean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum()else:# 나와 유사한 사람이 없는경우if len(sim_scores)>1:# 5명을 10개로 나눌수 없으니까 최소값으로 해줘야한다neighbor_size = min(neighbor_size,len(sim_scores))sim_scores = np.array(sim_scores)movie_ratings = np.array(movie_ratings)# simscore가 작은 순서대로 작은 유저아이디를 넣는다user_idx = np.argsort(sim_scores)sim_scores = sim_scores[user_idx][-neighbor_size:]## sim_scores 즉, 유사도를 뽑아냈으면 무비평가값을 뽑아내movie_ratings = movie_ratings[user_idx][-neighbor_size:]mean_rating = np.dot(sim_scores, movie_ratings) / sim_scores.sum()else:mean_rating = 3.0# movie_id가 rating train pivot table에 포함되지 않을 경우else:mean_rating = 3.0return mean_rating# 정확도 계산score(CF_knn,neighbor_size=30)#### 실제 주어진 사용자에 대해 추천을 받는 기능 구현(테스트 데이터와 훈련데이터를 만들필요가없다) ####ratings_matrix = ratings.pivot_table(values='rating', index = 'user_id', columns='movie_id')matrix_dummy = ratings_matrix.copy().fillna(0)user_similarity = cosine_similarity(matrix_dummy,matrix_dummy)user_similarity = pd.DataFrame(user_similarity,index = ratings_matrix.index, columns=ratings_matrix.index)def recom_movie(user_id, n_items, neighbor_size):# 해당 유저가 평가한 영화가 나온다user_movie= ratings_matrix.loc[user_id].copy()for movie in ratings_matrix.columns:# 현재 영화평점이 null이 아닌 경우 -> 영화를 본경우는 추천 리스트에서 제외하기 위해if pd.notnull(user_movie.loc[movie]):user_movie.loc[movie] = 0else:user_movie.loc[movie] =CF_knn(user_id,movie,neighbor_size)movie_sort = user_movie.sort_values(ascending=False)[:n_items]recom_movie = movies.loc[movie_sort.index]recommendation = recom_movie['title']return recommendationrecom_movie(user_id = 729, n_items=5, neighbor_size=30)score(CF_knn,neighbor_size=30) + gpt한테 물어보니 none_rating_idx = movie_ratings[movie_ratings.isnull()].index moive_ratings = movie_ratings.dropna() sim_scores = sim_scores.drop(none_rating_idx)이 부분을 movie_ratings = movie_ratings.dropna() sim_scores = sim_scores.loc[movie_ratings.index]이렇게 변경해라해서 수정했더니 nan이 아닌 실수값이 나오기는 하는데 올바른 방법인지를 모르겠습니다. 그래도 같은 방법인거같긴 한데 어디서 차이가 발생하는건지 잘 모르겠습니다!
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
user_id가 인덱스범위를 벗어난 값으로 들어옵니다
# Gender 기준 추천 def cf_gender(user_id,movie_id): if movie_id in rating_matrix.columns: # print(user_id) gender = users.loc[user_id]['sex'] if gender in g_mean[movie_id].index: gender_rating = g_mean[movie_id][gender] else: gender_rating = 3.0 # 훈련셋에 movie_id가 없을수도있다. 25%만 할당했기때문에 else: gender_rating = 3.0 return gender_rating score(cf_gender)안녕하십니까! Gender기준 추천쪽에서 오류가 발생해서 질문드립니다.이 부분에서 users는 942까지만 인덱스가 있는데, user_id는 943이 들어와서 ValueError: 943 is not in range라는 오류가 발생하더라구요..!예외처리를 따로 해줘야하는건가요?
-
해결됨Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
인덱스 칼럼은 어떻게 접근해야하나요
# 데이터 train, test set 분리 from sklearn.model_selection import train_test_split x = ratings.copy() y = ratings['user_id']저는 ratings의 user_id를 인덱스로 설정하고 저렇게 접근을 하니 keyError가 발생합니다.인덱스를 설정한 칼럼은 어떻게 접근해야하나요?
-
미해결최신 논문과 유튜브 동영상으로 만드는 2D Pose estimation 실전 프로젝트 따라하기
키포인트 추가관련
안녕하세요, dcpose에 발 키포인트를 추가하여 학습시키고 싶은데, 1. posetrack 데이터셋 없이 가능한지요? 그래도 posetrack 데이터셋이 필요해서 찾는데 공식 네트워크에서는 찾을 수가 없습니다. 확보할 수있는 방법이있을까요? 제 이메일은 valtop@gmail.com 입니다. 감사합니다.* 질문에 대한 답변은 일주일 정도 걸릴 수 있습니다.