묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
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을 해도 같은 결과가 나와야 하는 거 아닌가요? 늘 감사합니다!
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
FPGA resource사용관련
안녕하세요 공부 중에 궁금증이 생겨서 질문 남깁니다.! FPGA마다 각각 resource가 정해져 있는 것으로 알고 있습니다.실제로 보드를 Implementation을 한 후 bit파일을 만들고 실제 보드에서 동작을 하면 열이 많이 발생하는데 이경우에 리소스를 많이 사용 할 수록 많은 열이 발생할 것 같습니다. 그럼 성능 저하로 이어질 것 같습니다.이를 예방하고자 각 보드마다 리소스를 몇 %를 사용하면 성능저하가 일어난다는 스펙이 정해져 있나요? 강의랑 직접적인 관련은 없지만 궁금증이 생겨서 질문드립니다 . 감사합니다 !
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
categorical 변수의 수치화
강의 중에 성별의 경우 성별이라는 COLUMN에 여자는 0, 남자는 1 이런식으로 하면 안 되고 여자 칼럼/남자 칼럼을 나눠줘야 한다고 하셨는데 그 이유가 뭔지 질문 드립니다! 대소관계가 없도록 하는 거라고 하셨는데, 잘 이해가 되지 않아서요! 또 그럼 반대로 ordinal category의 경우 사이즈라는 칼럼을 만들어서 L은 3, m은 2, s는 1로 한 번에 넣어도 괜찮은 건가요? 늘 감사합니다, 강사님!
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
Residual Error
앙상블의 boosting에 대해 듣던 중 질문이 있어 글을 남깁니다! residual error를 실제 값과 예측값의 차이라고 이해했는데, 검색해보니 단순 error와는 조금 다른 말이라는 이야기가 많아서요. 혹시 error와 residual error에 차이가 있나요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
알고리즘 별 NPU
CNN을 타겟으로 하는 NPU와 LLM을 타겟으로 하는 NPU는 어떤 차이가 있을까요?LLM이 파라미터수가 많으니 FLOPS를 높이기 위해 MAC연산기를 많이 배치하고 memory bandwidth를 높여주는 정도 일까요?아니면 encoder/decoder라는 구조로 NPU HW에 구조적으로 다른 접근이 필요한가요?NPU 설계시 당연히 CNN,RNN,Transformer와 같이 특정 알고리즘을 염두에 두고 진행하겠죠?
-
미해결딥러닝 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)
-
해결됨딥러닝 이론 + 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를 갖고있지 않은데 어떻게 코프로세서가 될 수 있는건가요?? 제대로 이해한 것이 아니다보니 말의 두서가 엉망이네요 ㅠㅜ 죄송합니다 ㅜㅠ