묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝 이론 + 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)
-
해결됨딥러닝 이론 + 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 값이 결정되기 때문에 그런걸까요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
9장 generate문 질문
안녕하세요 맛비님강의에 generate문에 대해 배우며 궁금한 점이 생겼습니다verilog에 generate for~ 문이 아닌 그냥 for문도 존재하고, 이를 통해 하드웨어가 합성된다고 알고 있는데요generate for~ 문과 그냥 for ~문을 사용했을 때 합성되는 하드웨어의 차이가 궁금합니다. =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨딥러닝 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'으로 어느 부분이 문제가 되는지 질문드립니다.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
tf.data 를 이용한 shuffling and batch 구성 관련 문의
좋은강의 감사합니다.tf.data 를 이용한 shuffling and batch 구성 관련 문의 드립니다.tf.data 를 이용한 shuffling and batch 구성하는 경우의 코드(아래코드)를tf.data 를 이용한 shuffling and batch 구성하지 않는 경우로 변경하는 경우 아래코드를 어떻게 변경해야하나요?-아래-train_ds = tf.data.Dataset.from_tensor_slices((X_train_scaled, y_train_onehot))\.shuffle(10000).batch(128)test_ds = tf.data.Dataset.from_tensor_slices((X_test_scaled, y_test_onehot)).batch(128)..history = model.fit(train_ds, epochs=5, validation_data=test_ds)답변부탁드립니다.2024.3.9
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
학습이 이상하게 됩니다.
당장 문의드리는 것은 CIFAR10_Pretained이지만 다른 예제를 실행해도 같은 에러가 납니다. tr_data_len = tr_images.shape[0]val_data_len = val_images.shape[0]history = vgg_model.fit(flow_tr_gen, epochs=40,steps_per_epoch=int(np.ceil(tr_data_len/BATCH_SIZE)),validation_data=flow_val_gen,validation_steps=int(np.ceil(val_data_len/BATCH_SIZE)),callbacks=[rlr_cb, ely_cb])) 이 셀을 실행시키면, 이런 식으로 홀수만 학습이 되고 짝수는 학습이 안 됩니다.이 학습시킨 것을 그래프로 나타내면 0이 되었다가 정상적으로 되었다가 반복을 하네요.예전에 예제를 실행시켰을때는 이런 오류가 없었는데 버전이 업데이트되면서 안되는것 같습니다.Adam 함수에 매개변수 lr=을 입력할 때도 에러가 나서 learning_rate=로 변경해야하는 식으로 자잘한 문제도 있습니다.많은 예제에서 같은 오류가 나는 것을 보아 업데이트된 캐글 커널 버전에 맞춰서 코드를 전체적으로 수정하셔야할 필요가 있을것 같습니다.감사합니다. Epoch 1/40 /opt/conda/lib/python3.10/site-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:122: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored. self._warn_if_super_not_called() 10/665 ━━━━━━━━━━━━━━━━━━━━ 12s 19ms/step - accuracy: 0.0987 - loss: 3.5617WARNING: All log messages before absl::InitializeLog() is called are written to STDERR I0000 00:00:1709598886.339819 103 device_compiler.h:186] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process. 665/665 ━━━━━━━━━━━━━━━━━━━━ 31s 30ms/step - accuracy: 0.1981 - loss: 2.1133 - val_accuracy: 0.4116 - val_loss: 1.5764 Epoch 2/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 28us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 3/40 7/665 ━━━━━━━━━━━━━━━━━━━━ 12s 18ms/step - accuracy: 0.4141 - loss: 1.5560/opt/conda/lib/python3.10/contextlib.py:153: UserWarning: Your input ran out of data; interrupting training. Make sure that your dataset or generator can generate at least `steps_per_epoch * epochs` batches. You may need to use the `.repeat()` function when building your dataset. self.gen.throw(typ, value, traceback) 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.4451 - loss: 1.4449 - val_accuracy: 0.5769 - val_loss: 1.2619 Epoch 4/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 5/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.5782 - loss: 1.1673 - val_accuracy: 0.5975 - val_loss: 1.1887 Epoch 6/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 17us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 7/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.6474 - loss: 1.0090 - val_accuracy: 0.6819 - val_loss: 1.1508 Epoch 8/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 17us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 9/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.6889 - loss: 0.8978 - val_accuracy: 0.6689 - val_loss: 1.2804 Epoch 10/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 11/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.7189 - loss: 0.8345 - val_accuracy: 0.7216 - val_loss: 1.0568 Epoch 12/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 17us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 13/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.7289 - loss: 0.8169 - val_accuracy: 0.7328 - val_loss: 1.3400 Epoch 14/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 17us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 15/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.7646 - loss: 0.7047 - val_accuracy: 0.6892 - val_loss: 1.1569 Epoch 16/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 17/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.7645 - loss: 0.7083 - val_accuracy: 0.7511 - val_loss: 0.9342 Epoch 18/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 19/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.7857 - loss: 0.6478 - val_accuracy: 0.7740 - val_loss: 0.9626 Epoch 20/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 21/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.8012 - loss: 0.6048 - val_accuracy: 0.7763 - val_loss: 0.7990 Epoch 22/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 23/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.8056 - loss: 0.5998 - val_accuracy: 0.7719 - val_loss: 0.8663 Epoch 24/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 25/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.8196 - loss: 0.5483 - val_accuracy: 0.7731 - val_loss: 0.8920 Epoch 26/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 27/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 13s 19ms/step - accuracy: 0.8313 - loss: 0.5199 - val_accuracy: 0.7960 - val_loss: 0.8204 Epoch 28/40 665/665 ━━━━━━━━━━━━━━━━━━━━ 0s 16us/step - accuracy: 0.0000e+00 - loss: 0.0000e+00 - val_accuracy: 0.0000e+00 - val_loss: 0.0000e+00 Epoch 29/40
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
13장 관련 질문 !
안녕하세요! 강의 잘 듣고 있습니다!다름이 아니라 13장에서 하이브리드 프로세서와 코프로세서의 개념을 설명해주셨는데이 부분이 잘 이해가 되지 않아요 강의 중 말씀하신"AMD Xilinx의 사례를 보셔서 아시겠지만 만약에 제3의 벤더가 자체 CPU를 갖고있지 않다면 코 프로세서가 될 수 없어요여기서 제3의 벤더들은 ARM에 완성된 온전한 IP를 칩에 넣어서 만드는 것이기 때문에하이브리드 프로세서의 형태에 맞게 될 수가 없겠죠뭐 여러분들 아시다시피 삼성의 엑시노스, 그 다음에 퀄컴의 스냅드래곤의 프로세서는 ARM의IP를 베이스로 사용합니다.이는 즉 하이브리드 프로세서죠.근데 여기서 엔비디아는 이미 텐서 연산, 그러니까 행렬 연산이 굉장히 강합니다.그래서 엔비디아가 만약에 ARM을 성공적으로 인수를 하게 된다면 하이브리드가 아닌 앞서살펴본 코 프로세서의 길을 갈 수가 있어요" 라고 말씀하셨습니다 (강의 스크립트 복붙으로 가져왔습니다!)제가 이해한 바로는 결국 하이브리드이든 코프로세서이든 CPU IP와 NPU IP를 overlap시켜서 만든 것이고그걸 한 칩에 두면 하이브리드 라는 거 까진 이해했습니다. 근데 코프로세서의 이미지가 그려지지 않네요..엔비디아가 ARM의 IP를 개조해서 CPU IP랑 합치면 그게 코프로세서가 되는건가요?강의 하시는 늬앙스가 뭔가 코프로세서가 더 좋다는 식으로 들려서둘의 차이점이 정확히 무엇이고 어떤 점에서 서로 장단점이 있는지 모르겠습니다..그래서 왜 앞으로 코프로세서가 대세가 될 것 같다고 말씀하신지 궁금합니다!그리고 엔비디아 또한 자체 CPU를 갖고있지 않은데 어떻게 코프로세서가 될 수 있는건가요?? 제대로 이해한 것이 아니다보니 말의 두서가 엉망이네요 ㅠㅜ 죄송합니다 ㅜㅠ
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
NPU 관련 질문
안녕하세요 강의 잘 듣고 있습니다 😃 다름이 아니라 강의에서는 CNN을 통해 가속기를 만드는데요첫주차에 말씀 해주신 SNN은 현재 상용화가 많이 안 된 상태인지 궁금합니다.NPU 만들기 위해 현재 CNN이 base로 가장 많이 활용되나요?SNN이 안 쓰이는 이유가 있다면 무엇이 있을까요? 감사합니다 😁
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
boston import가 안됩니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 버전 다운그레이드를 진행햐였음에도 안됩니다 이게 안되면 나머지도 안되서 진행이 안됩니다 ㅜㅜ
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
13 표준화에 관한 질문
1.위의 그림에서 weight가 정규분포(Gaussian distribution)를 따르기 때문에 각 layer의 input의 분포도 정규분포를 따른다고 말씀해주셨는데 그 이유가 궁금합니다..2.표준화(Z~N(0,1))를 위해서는 확률분포가 정규분포여야 한다고 알고 있습니다..그래서 batch normalization의 위의 식에서 x가 정규분포를 가져야 한다고 생각했는데 학습 데이터셋은 직접 정규분포를 가지게 넣는다고 가정하더라도 그 다음에 있는 convolutional layer의 weight가 gradient descent에 의해 업데이트 되어 더이상 정규분포를 따르지 않으면 출력값이 정규분포를 따르지 않을수도 있지 않을까요...?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Jupyter Notebook환경 관련 질문
9강 [실습] PyTorch 기초 - Tensor 강의에서 질문 있습니다.Lesson/inflearn_practicals 폴더에 아무 파일도 들어있지 않은데, 폴더가 원래 구성이 되어 있는 것이 아니고 파일을 직접 다운로드해서 폴더를 알아서 구성하는건가요?Jupyter notebook 상에서 강사님처럼 section이 모두 뜨지 않아 질문 드립니다.
-
해결됨삼각형의 실전! OpenAI Triton 초급
코드가 실행되는 순서에 관하여
@triton.jit def add_kernel(x_ptr, y_ptr, z_ptr, size, block_size: tl.constexpr): (...) def add(x, y): z = (...) size = (...) def grid(meta): return (triton.cdiv(size, meta["block_size"]),) add_kernel[grid](x, y, z, size, 1024) return z 안녕하세요 vector_add.py를 보던 중, 코드 라인이 실행되는 순서가 궁금하여 질문남깁니다 수업에서 runtime 때 meta가 받아진다고 말씀해주셨는데요.그렇다면 코드가 실행되는 순서가runtime 동안 add_kernel의 argument로 들어온 x, y, z, size, 1024가 meta로 받아지고meta를 이용해 grid가 (n, )의 형태로 set되고 그 이후 add_kernel이 실행된다가 맞을까요? 또 하나 궁금한 것은 아래 라인이 실행될 때 @triton.jit 데코레이터의 역할인데요add_kernel[grid](x, y, z, size, 1024)(x, y, z, size, 1024)를 meta로 받아준다그 meta가 적용된 특정 grid 설정 위에서 add_kernel 함수가 실행될 수 있게 해준다일까요? 파이썬에서 원래 함수는 subscriptable하지 않아, 위 syntax가 생소해서 질문드립니다
-
해결됨삼각형의 실전! OpenAI Triton 초급
실행을 위한 최적 환경
안녕하세요 hello_triton.py가 실행이 되지 않아 질문남깁니다 현재 cuda==11.8pytorch==2.1.2triton==2.1 의 환경을 사용하고 있습니다 hello_triton.py 실행 시 아래 오류가 뜹니다Traceback (most recent call last): File "/home/furiosa/Desktop/workspace/Triton/practice-triton/hello_triton.py", line 28, in <module> def hello_triton(): File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 542, in jit return decorator(fn) File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 534, in decorator return JITFunction( File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 433, in init self.run = self._make_launcher() File "/home/furiosa/miniconda3/envs/triton/lib/python3.10/site-packages/triton/runtime/jit.py", line 400, in makelauncher exec(src, scope) File "<string>", line 2 def hello_triton(, grid=None, num_warps=4, num_stages=3, extern_libs=None, stream=None, warmup=False, device=None, device_type=None): ^SyntaxError: invalid syntax triton==2.2 가 아니라 2.1을 사용하는 이유는, hello_triton.py 실행 시 아래 오류가 떴기 때문입니다RuntimeError: Triton Error [CUDA]: device kernel image is invalid 공식홈페이지에서 제공하는 01-vetor-add.py 같은 경우 실행이 잘됩니다triton을 사용하기 위한 최적환경은 무엇인지 별 설명이 없었던 것 같은데요어떤 cuda/pytorch 환경을 사용해야 오류가 가장 안나고 안정적인가요?위 오류는 왜 일어나고 어떻게 해결할까요? 인터넷에도 크게 도움되는 정보는 없어서 부득이 질문 남깁니다ㅠㅠ
-
해결됨삼각형의 실전! OpenAI Triton 초급
강의 계획에 대하여
안녕하세요!모든 강의가 다 나오지는 않았지만 너무 좋은 강의인 것 같아 먼저 결제를 했습니다 ㅎㅎ혹시 바쁘시겠지만 섹션 4. Triton 톺아보기(TBD)에 대한 업데이트 계획을 알려주실 수 있을까요?제목만 봐서는 Triton 전체 개괄을 해주는 것 같아 꼭 들어보고 싶습니다업데이트 해주실동안 열심히 따라가고있겠습니다~~~!고급 강의도 기대 중입니다! 감사합니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
6-5 수식에 관한 질문
6-5 섹션에서 Loss를 W(3)로 미분한 결과( = tW(3))를 계산하는 수식에 관련해서 질문이 있습니다..!위의 사진과 같이 계산을 해보았는데 결과가 tW(3)이 아닌 2tW(3)으로 나오게 되었습니다..Jacobian 개념이 생소하여 제대로 계산을 하였는지 잘 모르겠어서.. 혹시 계산에서 잘못된 부분을 알려주실 수 있을까요...??
-
미해결딥러닝 이론 + PyTorch 실무 완전 정복
여기 질문 드려도 되는지 모르겠지만
학습 관련된 질문 같아서 남깁니다.다름이 아니라 아이폰15프로맥스에서 모바일 인프런 영상 재생시무한 버퍼링이 걸리면서 영상 재생이 되질 않습니다다른 강의 영상들은 잘 재생되는데 현재 딥러닝 강의만 영상 재생이 안됩니다.유일하게 3강 Window 환경설정 영상만 재생이 잘 됩니다혹시 무한 버퍼링을 없애는 해결 방법을 알 수 있을까요
-
해결됨삼각형의 실전! OpenAI Triton 초급
행렬곱 오차 문제
안녕하세요. 큰 질문은 아니고 사소한 질문일 수도 있습니다만.. 다름이 아니라, 행렬곱 강의에서 구현한 코드에서는 곱해주는 행렬 크기가 커질수록 오차가 누적되는 듯한(정확히 말하면 파이토치 내장 matmul과 계산 결과가 점점 더 달라지는듯한) 현상이 관찰되어 질문드립니다. 먼저, 실습에서 정의한 코드에서부터 x = torch.randn(16,16,device = 'cuda') y = torch.randn(16,16,device = 'cuda') a = matmul(x,y) b = torch.matmul(x,y) assert torch.allclose(a,b)torch.allclose 의 기본 인자(atol=1e-8, rtol=1e-5) 세팅에서는 assertion error가 발생하여 조건을 완화시켜야(atol=1e-5, rtol=1e-5) assertion이 통과되는 모습을 보였고x = torch.randn(2048,1024,device = 'cuda') y = torch.randn(1024,256,device = 'cuda') x, y의 크기를 이와 같이 키웠을 경우엔 atol=1e-4, rtol=1e-4로 조건을 완화시켜야 assertion을 통과하는 모습을 보였습니다. triton kernel로 구현한 행렬곱 연산과 PyTorch 내장 matmul 연산 모두 fp32로 연산이 이루어지고 있는데, 이러한 오차가 발생할 수 있는 원인에 무엇이 있는지 궁금해서 질문 드립니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
2-7번 강의 수업 자료 관련
큰 문제는 아니지만 Section2의 '[실습] PyTorch 기초 - Transforms' 강의의 수업 자료가 이전 강의의 수업 자료로 잘못 업로드 되어 있는것 같아서 질문드려봅니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
from torchvision.models.resnet import model_urls 에러
첨부된 9-5 ipynb 에 resnet weight 를 불러올 때 from torchvision.models.resnet import model_urls에서 오류가 나와 찾아보니 torchvision 0.13 버전 이후에model_urls 는 없어졌다고 하네요. https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py 아래와 같이 해결을 해보았습니다.from torchvision.models.resnet import ResNet50_Weights checkpoint = load_state_dict_from_url(ResNet50_Weights.IMAGENET1K_V2.url)