묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
CRUD에서 CR만 배우는건가요
수정 삭제는 sqlite로 직접 만져야되나요
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
tiny kitti 데이터로 MMDectection Train 실습에서 클래스 id 질문
기존에 학습된 모델을 가지고 새로운 데이터로 학습하는데, 라벨이 기존 학습된 모델의 라벨과 맞춰져야 하는 거 아닌가요? gt_labels.append(cat2label[bbox_name])에서 'Car', 'Truck', 'Pedestrian','Cyclist' 의 라벨번호가기존 학습된 모델의 'Car', 'Truck', 'Pedestrian','Cyclist'의 라벨번호와 같아야 하는 것이 아닌지 문의합니다.
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
seq2seq 모델
seq2seq 모델에 기반으로encoder-decoder, teacherforce 모델이 생긴것인가요?아니면 3개다 각각의 모델인가요?
-
미해결U-Net 구현으로 배우는 딥러닝 논문 구현 with TensorFlow 2.0 - 딥러닝 의료영상 분석
안녕하세요 train evaluate부분 질문드립니다
1.앞에 고민올리신 분대로 코드를 바꿔보니 train부분은 돌아가더라고요,5/2000번 이라서 왜그런지는 모르겟으나 너무 느리고 반쯤가다가 멈추더라고요.2.2000번 다안되서 50번으로 바꿔서 돌려보니 되더라고요(loss 값은 강의만큼 떨어지지는 않지만.. 돌아가긴하네요.) 그리고 앞에 커뮤니티 올리신 분도 비슷한 문제가 있어 https://gist.github.com/solaris33/771639041b8a4500b6d81951d4a2b814여기있는대로 evaluate구현해보니 Traceback (most recent call last):File "evaluate_isbi_2012.py", line 89, in <module>app.run(main)File "D:\anaconda\envs\tfunet\lib\site-packages\absl\app.py", line 308, in runrunmain(main, args)File "D:\anaconda\envs\tfunet\lib\site-packages\absl\app.py", line 254, in runmainsys.exit(main(argv))File "evaluate_isbi_2012.py", line 66, in mainunet_model.load_weights(FLAGS.checkpoint_path)File "D:\anaconda\envs\tfunet\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handlerraise e.with_traceback(filtered_tb) from NoneFile "D:\anaconda\envs\tfunet\lib\site-packages\tensorflow\python\training\py_checkpoint_reader.py", line 31, in error_translatorraise errors_impl.NotFoundError(None, None, error_message)tensorflow.python.framework.errors_impl.NotFoundError: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for saved_model_isbi_2012/unet_model.ckpt 이런문제가 뜨더라고요..3.제가 쓰는 파이썬은 3.7.9이고 tensorflow 2.11 을 쓰고 있어요 예전버전쓰니까 이상한 문제가 있다고 train도 구현이 되질않아서요.. 가능하시면 2.11버전에 맞게 코드 변경 부탁드려요.. 몇일을 실랑이 하다가 어떻게 해야될지 몰라 올려보네요..아니면 requirement라도 넣어주시면 감사하겠습니다.
-
미해결U-Net 구현으로 배우는 딥러닝 논문 구현 with TensorFlow 2.0 - 딥러닝 의료영상 분석
안녕하세요 train_isbi부분 문의드려요
2000/2000 [==============================] - ETA: 0s - loss: 0.2448 - accuracy: 0.9157Epoch 1: loss improved from inf to 0.24480, saving model to saved_model_isbi_2012\unet_model.h5Traceback (most recent call last):File "train_isbi_2012.py", line 180, in <module>app.run(main)File "D:\anaconda\envs\tfunet\lib\site-packages\absl\app.py", line 308, in runrunmain(main, args)File "D:\anaconda\envs\tfunet\lib\site-packages\absl\app.py", line 254, in runmainsys.exit(main(argv))File "train_isbi_2012.py", line 177, in maincallbacks=[model_checkpoint_callback, tensorboard_callback, custom_callback])File "D:\anaconda\envs\tfunet\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handlerraise e.with_traceback(filtered_tb) from NoneFile "D:\anaconda\envs\tfunet\lib\site-packages\keras\saving\legacy\save.py", line 155, in save_model"Saving the model to HDF5 format requires the model to be a "NotImplementedError: Saving the model to HDF5 format requires the model to be a Functional model or a Sequential model. It does not work for subclassed models, because such models are defined via the body of a Python method, which isn't safely serializable. Consider saving to the Tensorflow SavedModel format (by setting save_format="tf") or using save_weights.2024-05-05 07:43:59.819913: W tensorflow/core/kernels/data/generator_dataset_op.cc:108] Error occurred when finalizing GeneratorDataset iterator: FAILED_PRECONDITION: Python interpreter state is not initialized. The process may be terminated.[[{{node PyFunc}}]]이런문제가 뜨고 사진 5장도 저장안되고 save 폴더 안에도 저장되는게 없는데요 인터넷을 찾아봐도 무슨 문제인지 나오질 않아서 물어봐요 ㅜ(밑에 다른사람이 비슷한사례가 있어 바꿔보았는데 이렇게 뜨네요)2000/2000 [==============================] - ETA: 0s - loss: 0.2294 - accuracy: 0.9116Epoch 1: loss improved from inf to 0.22941, saving model to unet_model.h5Traceback (most recent call last): File "C:\Users\Administrator\Desktop\UNET-tf2-main\train_isbi_2012.py", line 180, in <module> app.run(main) File "D:\anaconda\envs\tfunet\lib\site-packages\absl\app.py", line 308, in run runmain(main, args) File "D:\anaconda\envs\tfunet\lib\site-packages\absl\app.py", line 254, in runmain sys.exit(main(argv)) File "C:\Users\Administrator\Desktop\UNET-tf2-main\train_isbi_2012.py", line 177, in main callbacks=[model_checkpoint_callback, tensorboard_callback, custom_callback]) File "D:\anaconda\envs\tfunet\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handler raise e.with_traceback(filtered_tb) from None File "D:\anaconda\envs\tfunet\lib\site-packages\keras\saving\legacy\save.py", line 155, in save_model "Saving the model to HDF5 format requires the model to be a "NotImplementedError: Saving the model to HDF5 format requires the model to be a Functional model or a Sequential model. It does not work for subclassed models, because such models are defined via the body of a Python method, which isn't safely serializable. Consider saving to the Tensorflow SavedModel format (by setting save_format="tf") or using save_weights.2024-05-05 14:39:03.225178: W tensorflow/core/kernels/data/generator_dataset_op.cc:108] Error occurred when finalizing GeneratorDataset iterator: FAILED_PRECONDITION: Python interpreter state is not initialized. The process may be terminated. [[{{node PyFunc}}]]Process finished with exit code 1
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
현업에서 detection 시 데이터셋의 수가 어느정도 되야하나요?
안녕하세요!좋은 강의 감사합니다 강의 내용중 69개의 이미지는 데이터셋 수가 작다고 말씀해주셨는데 현업에서 사용할만한? 모델의 이미지 데이터수는 어느정도 되는지 궁금합니다^^
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
실무에서 Augmentation 적용 시
교수님 안녕하세요 실무에서 분류하는 과제를 하고 있습니다.(파이썬 코드를 직접 짜고 있지는 않고 상용 딥러닝 툴을 써서 하고 있습니다.) 공장안에서 여러 설비들이 조금씩 다른 세팅으로 카메라가 세팅이 되어있는 상태이고(이미 너무 많은 설비들이 있는데 이거를 지금 시점에 같은 조건으로 다 맞추기는 힘들 것 같습니다.)관리를 하려면 이 조금씩 세팅이 다른 카메라 이미지를 하나의 모델로 만들어야 한다고 판단하고 있습니다. 밝기 세팅이나 카메라 노출 회전 여부가 조금씩 다른데1) 전체 학습 이미지 데이터 셋2) 전부다 회전을 시켜버리고3) 전부다 밝기 조절을 해서 ex) 제품의 특정 위치의 이미지상 밝기가 대부분 10이고 어떤 카메라는 특이하게 15라면 가지고 있는 학습 이미지를 다 15로 바꿔버린다음에 추가 학습을 시킴 20인 카메라가 확인되면 다 20으로 바꿔버린다음에 추가 학습을 시킴 학습 데이터 셋을 2배 3배 4배 늘려버려서 학습을 시킨다면 모델의 성능이 좋아지게 될지 성능이 떨어지게 될지 어떻게 하는게 유리할지조언을 주실 수 있을까요?잘모르는 부분이어서 조금 답답한 부분이 있어서 혹시나 도움을 받을 수 있을까 해서문의드리게 되었습니다.
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
안녕하세요 파이썬이랑 tensorflow 정확한 버전 알수있을까요?
앞에서 설치하는 동영상은 윈도우 버전이고 수업영상 구현할때는 갑자기 맥북으로 넘어가서요. 2.3으로 설치해서 코드 구현하니까 버전 문제가 생겼다 해서요 파이썬3.7.9 tensorflow 2.3버전 맞나요?File "C:\Users\Administrator\Desktop\deep-learning-tensorflow-book-code-master\Ch03-TensorFlow_Basic\3.3-linear_regression.py", line 6, in <module>W = tf.Variable(tf.random_normal(shape=[1]))AttributeError: module 'tensorflow' has no attribute 'random_normal'구현하면 이렇게 떠요
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolo v3 설치 과정에서 에러가 발생합니다!
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. imageio 2.31.6 requires pillow<10.1.0,>=8.3.2, but you have pillow 10.3.0 which is incompatible. 위와 같은 에러 메시지가 발생하는데 어떻게 하면 될까요?
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
강의 내용중 질문있습니다.
LSTM 함수 정의전 맨 아래와 같이 정의를하는데B같은 경우 인풋을 의미로sentences = ["hi man", "hi woman"]리스트의 값과 같이 2개를 받는다고 생각하면되나요?T 같은경우에는 time이 정확히 어떤것을 의미하는 것일까요??D 또한 feature인데 어떤것을 의미하는 지모르겠습니다..U는 아웃풋인건 이해했고요..혹시 아래 이미지와 같은 이미지를 기준으로 T값 2는hi를 h, i 로 2개 받는다는 의미일까요?D와 T는 모르겠습니다..U는 이미지 기준 4겠네요? 이부분만해결되면 코드를 더 이해할수있을것같습니다ㅜㅜB = 2 #batch size / 2개의 인풋 값이 들어가도록 설정 T = 5 #time steps D = 1 #features U = 3 #LSTM units / LSTM output 유닛 개수 X = np.random.randn(B,T,D) print(X.shape) print("\n") print(X)
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
settings.jason 3가지
settings.json 을 검색하면 3가지가 뜹니다. user workspace default 이렇게 3가지 뜨는데, 제가 다 눌러보니 어떤건 영어문장이이 막 나오고, 어떤건 비어있는걸로 나오는데 user 로 하면 될까요?
-
해결됨TensorFlow 2.0으로 배우는 딥러닝 입문
colab 환경에서 Autoencoder 구현하였으나 결과가 보이지 않는 분들 참고사항
colab 환경에서 Autoencoder를 구현하여 코드를 실행시키면 반복(Epoch)는 완료 되었는데, 결과 이미지가 확인이 되지 않는 경우가 생깁니다. 이런 경우 맨 아래의 plt.waitforbuttonpress()를 주석 처리하시면 빠르게 결과를 확인 할 수 있습니다.[plt.waitforbuttonpress()코드 주석처리][주석 처리 후 결과 확인]혹시나 제가 잘못알고 있는 사항이 있으면 바로 정정 부탁드리겠습니다.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
DBSCAN 실습 결과
수업에서 DBSCAN 결과가 이렇게 내왔는데 그러면 OUTLIER도 파란색이고 모여있는데도 색깔이 다른 곳들이 있으니 학습이 잘 된 건 아닌 케이스일까요? 감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
DBSCAN 질문
늘 강의 잘 듣고 있습니다! DBSCAN에서 Radius(R)와 Minimum Neighbor number(M)을 가르쳐주시고 Core, Border 개념을 소개해주셨는데 헷갈리는 부분이 있어 질문 드립니다. pdf 자료를 보며 R에 2unit 이렇게 되어 있는데 이 Unit이라는 건 데이터 포인트의 점 크기를 말하는 걸까요? 그리고 정한 M 값 이상의 데이터 포인트들이 R 안에 들어오면 Core고 Border는 R안에 데이터포인트가 M 보다 작은 수만큼 있는 경우, 다른 Core가 R 안에 있는 경우를 말하는 건가요? (R안에 다른 데이터포인트가 하나라도 있으면 Border인지 궁금합니다)
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling 강의 질문 있습니다!
(1) Feature scaling 실습 강의를 듣다가 궁금한 점이 있어 질문드립니다! 타이타닉 자료에서 나이에 대한 결측치는 중간값으로 처리하고, Embarked의 경우 drop을 하는 걸로 알려주셨는데요 🙂 원래 없는 값인데 중간 값으로 결측치를 채워주는 것도 그렇구 다른 FEATURE값이 있는데 결측치가 있는 row라고 지워버리는 것도 그렇고 결측치가 주는 영향이 그만큼 크기 때문인가요?? 값이 비어있는 것보다는 평균으로라도 채워놓는 게 좋은 건지, 다른 feature 정보가 있더라도 결측치가 있는 row는 지우는 게 좋은 건지 feature engineering에 대해 제대로 이해하지 못한 것 같아 여쭤봅니다! (2) SKEW된 FARE에 log를 취해주셨는데요! 사실 그래프만 보면 parch도 sibsb도 한 쪽으로 쏠려있고 한 쪽이 많은 느낌인데 왜 fare만 skew로 log를 취해주신 걸까요? (3) 교재에서는 train_test_split 부분을 이렇게 해주셨는데요! X_train = df_titanic[:700]X_test = df_titanic[700:]y_train = X_train.pop('Survived')y_test = X_test.pop('Survived')X_train, X_test에서 survived 부분을 안 빼줘도 되는 건가요?? 늘 감사합니다!!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
heatmap에서 numeric_only=True
타이타닉 탑승자 자료로 Feature scaling을 실습하는 강의에서, heatmap을 그리는 부분을 듣고 있는데요!g=sns.heatmap(df_titanic.corr(numeric_only=True),annot=True,cmap='coolwarm') 교재에는 이렇게 되어 있는데 실제 강의에서는 numeric_only=True 부분을 작성하지 않고도 똑같이 그리셨더라구요! 교재 코드에 해당 부분이 있는 이유가 궁금해 여쭤봅니다! 감사합니다 :)
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
pd.Series
랜덤포레스트와 그래디언트부스팅 강의에서 마지막에 FEATURE importance를 pd.series로 하는 과정이 나오는데, 그래프를 그리기 전 이 과정이 왜 필요한 건가요? 감사합니다!
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
Feature Scaling
feature scaling에서 X_test는 fit_transform이 아니라 transform만 해야한다고 하셨는데요! (logistic regression 실습 18분 부근) 어차피 X_train과 평균과 표준편차가 동일할 거라는 건 이해가 되지만, 미래 값인 X_test의 평균/표준편차를 구할 순 없다는 말씀은 이해가 잘 되지 않습니다 ㅠㅠ, 그리고 어차피 동일하다면 X_test에 fit_transform을 해도 같은 결과가 나와야 하는 거 아닌가요? 늘 감사합니다!
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Transformer 번역기 부분에 대해 질문 있습니다.
아래 사이트는 Encoder / Decoder를 하나의 Class로 만들었는데요..강사님도 해당 예제는 많이 보셨을거 같습니다.https://keras.io/examples/nlp/neural_machine_translation_with_transformer/ 아래와 같이 Encoder / Decoder Class를 선언하고..추가로 shape들을 찍어 보았습니다.(참고로 get_config 함수는 지면상 뺐습니다.)class TransformerEncoder(keras.layers.Layer): def init(self, num_heads, embed_dim, dense_dim, **kwargs): super().__init__(**kwargs) self.num_heads = num_heads self.embed_dim = embed_dim self.dense_dim = dense_dim self.class_name = 'TransformerEncoder' self.attention = keras.layers.MultiHeadAttention(self.num_heads, key_dim=self.embed_dim, value_dim=self.embed_dim) self.dense = keras.models.Sequential([keras.layers.Dense(self.dense_dim, activation='relu'), keras.layers.Dense(self.embed_dim)]) self.layer1 = keras.layers.LayerNormalization() self.layer2 = keras.layers.LayerNormalization() self.support_mask = True def call(self, inputs, mask=None): tf.print('ClassName=TransformerEncoder-------------------------------------------------------') if mask is not None: #print('ClassName={}, mask.shape={}'.format(self.class_name, mask.shape)) padding_mask = mask[:, tf.newaxis, :] tf.print('mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('mask=None') attention_out = self.attention(query=inputs, key=inputs, value=inputs, attention_mask=padding_mask) tf.print('input.shape=', inputs.shape) tf.print('attention_out.shape=', attention_out.shape) layer1_out = self.layer1(inputs+attention_out) #print('ClassName={}, layer1_out.shape={}'.format(self.class_name, layer1_out.shape)) dense_out = self.dense(layer1_out) tf.print('dense_out.shape=', dense_out.shape) return self.layer2(layer1_out+dense_out) class TransformerDecoder(keras.layers.Layer): def init(self, num_heads, embed_dim, latent_dim, **kwargs): super().__init__(**kwargs) self.num_heads = num_heads self.embed_dim = embed_dim self.latent_dim = latent_dim self.class_name = 'Decoder' self.attention_1 = keras.layers.MultiHeadAttention(num_heads=self.num_heads, key_dim=self.embed_dim) self.attention_2 = keras.layers.MultiHeadAttention(num_heads=self.num_heads, key_dim=self.embed_dim) self.layer_1 = keras.layers.LayerNormalization() self.layer_2 = keras.layers.LayerNormalization() self.layer_3 = keras.layers.LayerNormalization() self.dense = keras.models.Sequential([keras.layers.Dense(self.latent_dim, activation='relu'), keras.layers.Dense(self.embed_dim)]) self.supports_masking=True def call(self, inputs, encoder_outputs, mask=None): tf.print('ClassName=TransformerDecoder-------------------------------------------------------') #inputs.shape=(None, 35, 32), encoder_outputs.shape=(None, 35, 32) #tf.print('aaaaaaaaa=', inputs.shape) casual_mask = self.get_casual_attention_mask(inputs) tf.print('inputs.shape=', inputs.shape) tf.print('casual_mask.shape=', casual_mask.shape) if mask is not None: padding_mask = tf.cast(mask[:, None, :], dtype='int32') padding_mask = tf.minimum(padding_mask, casual_mask) tf.print('padding_mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('padding_mask = None') attention_1_out = self.attention_1(query=inputs, key=inputs, value=inputs, attention_mask=casual_mask) tf.print('attention_1_out.shape=', attention_1_out.shape) layer_1_out = self.layer_1(inputs+attention_1_out) attention_2_out = self.attention_2(query=layer_1_out, key=encoder_outputs, value=encoder_outputs, attention_mask=padding_mask) layer_2_out = self.layer_2(layer_1_out + attention_2_out) dense_out = self.dense(layer_2_out) tf.print('dense_out.shape=', dense_out.shape) return self.layer_3(layer_2_out + dense_out) def get_casual_attention_mask(self, inputs): #input_shape=(2, 35, 32) =(BatchSize, Sequence_len, Embed_Len) input_shape = tf.shape(inputs) batch_size, sequence_length = input_shape[0], input_shape[1] #i=(35, 1), j=(35,) #i=[[0], [1], [2], ... [35]], j=[0 1 2 ... 34] i = tf.range(start=0, limit=sequence_length)[:, tf.newaxis] j = tf.range(start=0, limit=sequence_length) # tf.cast 함수는 보통 조건에 따른 True, False 의 판단 기준에 따라 True 면 1, False 면 0을 반환한다. # mask.shape=(1, 35, 35), mask=[[[1 0 0 .. 0], [1 1 0 0 ...0], [1 1 1 1 ...1 0], [1 1 1 1 ... 1 1]]] mask = tf.cast(i>=j, dtype='int32') mask = tf.reshape(mask, (1, input_shape[1], input_shape[1])) # mult = (2, 1, 1), (BatchSize, 1, 1) mult = tf.concat([tf.expand_dims(batch_size, -1), tf.convert_to_tensor([1,1])], axis=0) return tf.tile(mask, mult) MAX_EMBED=32 MAX_VOCAB=5000 MAX_SEQ = 35 MAX_DENSE=1024 MAX_HEAD=1 encoder_inputs = keras.layers.Input(shape=(MAX_SEQ,), dtype='int64', name='encoder_inputs') encoder_embed_outs = PositionalEmbedding(MAX_SEQ, MAX_VOCAB, MAX_EMBED)(encoder_inputs) encoder_transformer_outs = TransformerEncoder(num_heads=1, embed_dim=MAX_EMBED, dense_dim=MAX_DENSE)(encoder_embed_outs) #encoder_transformer_outs == (None, 80, 256) decoder_inputs = keras.layers.Input(shape=(MAX_SEQ,), dtype='int64', name='decoder_inputs') decoder_embed_outs = PositionalEmbedding(MAX_SEQ, MAX_VOCAB, MAX_EMBED)(decoder_inputs) #decoder_embed_outs == (None, 80, 256) decoder_transformer_outs = TransformerDecoder(1, MAX_EMBED, MAX_DENSE)(decoder_embed_outs, encoder_transformer_outs) decoder_dropout_outs = keras.layers.Dropout(0.5)(decoder_transformer_outs) decoder_outputs = keras.layers.Dense(MAX_VOCAB, activation='softmax')(decoder_dropout_outs) model = keras.Model(inputs=[encoder_inputs, decoder_inputs], outputs=decoder_outputs) model.summary() 호출(호출은 Log만 찍어보게 BatchSize를 줄였습니다.)q_train_seqs = q_seqs[:2] a_train_seqs = a_seqs[:2] print(q_train_seqs.shape, a_train_seqs.shape) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) history = model.fit([q_train_seqs, a_train_seqs[:, :-1]], a_train_seqs[:, 1:], epochs=1) 이렇게 해서 돌리면 결과가 아래와 같이 찍힙니다.ClassName=TransformerEncoder------------------------------------------------------- mask=None input.shape= TensorShape([None, 35, 32]) attention_out.shape= TensorShape([None, 35, 32]) dense_out.shape= TensorShape([None, 35, 32]) ClassName=TransformerDecoder------------------------------------------------------- inputs.shape= TensorShape([None, 35, 32]) casual_mask.shape= TensorShape([None, 35, 35]) padding_mask = None attention_1_out.shape= TensorShape([None, 35, 32]) dense_out.shape= TensorShape([None, 35, 32]) 1/1 [==============================] - 4s 4s/step - loss: 8.2735 - accuracy: 0.0000e+00 질문은 아래와 같습니다.Encoder 파트에서 mask=None 으로 Mask가 들어있지 않습니다. 그럼 굳이 mask는 구현할 필요가 없는건지? Decoder 파트에서는 첫번째 Self-Attention 부분에서만 제대로된 마스킹 값이 들어가고 Encoder의 Key와 매핑 시키는 부분에서는 마찬가지로 padding_mask가 None 입니다. 이 부분에 대해 조금 더 자세한 설명을 해 주시면 감사하겠습니다. 다시 한번 설명 드리면class TransformerEncoder(keras.layers.Layer): ... def call(self, inputs, mask=None): tf.print('ClassName=TransformerEncoder-------------------------------------------------------') if mask is not None: #print('ClassName={}, mask.shape={}'.format(self.class_name, mask.shape)) padding_mask = mask[:, tf.newaxis, :] tf.print('mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('mask=None') #Encoder 에서 padding_mask는 None으로 찍힘 attention_out = self.attention(query=inputs, key=inputs, value=inputs, attention_mask=padding_mask) class TransformerDecoder(keras.layers.Layer): def call(self, inputs, encoder_outputs, mask=None): casual_mask = self.get_casual_attention_mask(inputs) #mask는 None 으로 들어옴 if mask is not None: padding_mask = tf.cast(mask[:, None, :], dtype='int32') padding_mask = tf.minimum(padding_mask, casual_mask) else: padding_mask = None # casual_mask는 현재 위치 이후는 0 으로 패딩 된 것 확인 attention_1_out = self.attention_1(query=inputs, key=inputs, value=inputs, attention_mask=casual_mask) layer_1_out = self.layer_1(inputs+attention_1_out) # 하지만 padding_mask는 None 임 attention_2_out = self.attention_2(query=layer_1_out, key=encoder_outputs, value=encoder_outputs, attention_mask=padding_mask) layer_2_out = self.layer_2(layer_1_out + attention_2_out)
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
CSS 적용 안되는 현상
위와 같이 코드를 작성하였습니다만, body 부분의 css가 적용이 안됩니다.여기서 제가 궁금한 것은 .html 파일 위의 <!DOCTYPE html>을 삭제하면 body값이 100%에 맞게 보여지는데, 왜 이렇게 적용 되는지 잘 모르겠습니다..<!DOCTYPE html>의 태그 같은 경우는 문서 형식을 선언하는것으로 알고있는데..해당 코드의 존재 유무에 따라 CSS 적용이 되다 안되다가 하는지 잘 모르겠습니다.. 답변 주시면 감사드리겠습니다!!