inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

batch normalization과 standard scaler에 관한 질문입니다

해결됨

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

안녕하세요, batch normalization과 standard scaler의 사용에 관해 질문드립니다! 우선, batch normalization은 학습 과정에서 각 배치 단위 별로 데이터가 다양한 분포를 가지더라도 각 배치별로 평균과 분산을 이용해 정규화 하는 것을 뜻하고, 결국 평균 0, 분산 1로 데이터의 분포를 조정하는 과정으로 이해를 하였습니다. 또한, 이전에 학습하였던 standard scaler 역시 전처리 과정에서 평균 0, 분산 1로 데이터를 조정하는 역할을 한다고 이해하였는데요 batch normalization과 standard scaler의 작동 방식 자체가 조금 유사하게 느껴지는데, 이 둘은 각각 전처리 과정과 학습 과정에서 따로 사용되는 것으로 보면 되는 것인가요??

  • 머신러닝
  • 딥러닝
  • 인공신경망
  • pytorch
  • vision-transformer
vpdtlrdl 댓글 1 좋아요 0 조회수 628

딥러닝 코드에 Batch Normalization 적용해보기 질문입니다

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

해당 강의 8:18 에서 self.layers를 선언할 때, Layer(input_dim, 256. batch_norm, dropout), Layer(256, 256, batch_norm, dropout), Layer(256, 128, batch_norm, dropout), 으로 계층들을 선언을 하는 과정에서, Layer들을 선언 했을 때, Layer 클래스 안에 있는 init 매소드만 실행이 되서 생성된 Layer 객체들 안에 self.layer에 값들이 할당이 된것인지 .Layer 객체들에서 forward 매소드에서 필요한 인자 (x)를 할당받은 부분이 없기 때문에 DNNModel 클래스의 self.layers를 할당하는 과정에서는 Layer 객체들의 forward 매소드가 실행을 하지 않은 것인지 2가지 질문을 드립니다.

  • vision-transformer
  • 인공신경망
  • 딥러닝
  • 머신러닝 배워볼래요?
  • pytorch
문환룡 댓글 1 좋아요 0 조회수 599

딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제) 질문입니다

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

해당 강의 11:25 에서 standardScaler()를 X_train과 X_test에 적용을 시키는데 결과값인 y_train에는 결국 SalePrice를 구하기위해서 standardScaler()를 적용시키지 않는다고 이해를 했습니다. 여기서 질문이, 그럼 standardScaler()는 주로 input 데이터들(ex - X_train과 X_test 등) 에만 적용을 시키고 결과값(y_train 등)에는 적용을 잘 안시키나요?

  • vision-transformer
  • 인공신경망
  • 머신러닝 배워볼래요?
  • pytorch
  • 딥러닝
문환룡 댓글 1 좋아요 0 조회수 500

Binary Classfication 딥러닝 적용해보기 질문입니다

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

Binary Classfication 딥러닝 적용해보기 강의 19:13초에서, y_pred_list.extend(y_test_pred.squeeze().detach().tolist()) 를 실행한뒤, y_pred_list = torch.tensor(y_pred_list).unsqueeze(1)을 실행하는데, y_pred_list의 size() 를 y_test_tensor의 size()와 맞추는거면 pred list.extend(y_test_pred.detach().tolist()) 를 실행한뒤, y_pred_list = torch.tensor(y_pred_list)) 을 실행해도 같은 건가요?

  • 머신러닝
  • pytorch
  • 딥러닝
  • 딥러닝
  • 인공신경망
  • 머신러닝 배워볼래요?
  • 인공신경망
  • vision-transformer
문환룡 댓글 1 좋아요 0 조회수 384

Augmentation 질문

해결됨

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

안녕하세요. 데이터 증강 부분에 대해서 궁금점이 있어서 질문드립니다. 가지고 있는 데이터가 1000개 라고 가정했을 때, tr.Compose를 적용시키면 '기존 이미지 1000개 + 증강된 추가 이미지 개수' 가 되는건가요?? 제가 간단하게 해봤을 때는 transform 했을 때 이미지 개수 증가가 아니라 단순 이미지 변환까지만 이루어지는 것 같은데, 제가 잘못된 부분이 있는건가 좀 헷갈려서 질문 드립니다. 만약 단순 이미지 변환만 이루어지는 것이라면 이미지 개수 증가를 위해서 추가적인 작업을 진행해주어야 하는지도 궁금하네요.

  • 딥러닝
  • 머신러닝
  • 딥러닝
  • python
  • 머신러닝 배워볼래요?
  • 인공신경망
  • 인공신경망
  • pytorch
김남욱 댓글 1 좋아요 1 조회수 417

torch.armax에 관한 질문입니다

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

Multi-Class Classification 딥러닝 적용해보기 강의 8:40 부분에서 사용된 torch.argmax(x, dim=차원) 에 관한 질문입니다. torch.argmax 함수의 자세한 실행 방식이 궁금해서 pytorch 공식 문서 등을 찾아보았는데요, 'dim' 파라미터에 관한 설명이 다음과 같이 나와 있었습니다. dim ( int ) – the dimension to reduce. If None , the argmax of the flattened input is returned. 여기서 "the dimension to reduce" 라는 표현이 정확히 무엇을 의미하는지 궁금합니다.

  • 머신러닝
  • 딥러닝
  • pytorch
  • 머신러닝 배워볼래요?
  • 인공신경망
  • pytorch
  • 딥러닝
  • 인공신경망
  • vision-transformer
  • vision-transformer
vpdtlrdl 댓글 1 좋아요 0 조회수 691

output_dim 에 관한 질문입니다

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

Multi-Class Classification 딥러닝 적용해보기 강의 5:26 부분에서 0, 1, 2 Multi-Label 에 대한 확률값을 구해야 하므로, output_dim은 3이 되어야 한다고 설명해 주셨습니다 반면, Binary Classification 강의에서는 0, 1 Label 에 대한 확률값을 구하면서 output_dim을 1로 설정을 하였는데요, Binary Classification 예제는 확률값이 0에 가까우면 phishing, 1에 가까우면 legitimate로 분류되므로 그냥 확률값만을 담고 있는 1차원의 열벡터만 필요한 것이고, Multi-Class Classification 예제는 3가지 feature에 대한 확률값이 각각 담겨야 하므로 output_dim을 3으로 설정한 것으로 이해하면 되나요??

  • 머신러닝
  • 머신러닝 배워볼래요?
  • 딥러닝
  • 인공신경망
  • 딥러닝
  • 인공신경망
  • pytorch
  • vision-transformer
vpdtlrdl 댓글 1 좋아요 0 조회수 453

DCGAN 실습에 있는 celba 이미지 다운로드 권한 요청

미해결

[PyTorch] 쉽고 빠르게 배우는 GAN

안녕하세요.. 강의를 듣고 있는 학생입니다. DCGAN 의 강의를 실습을 하고자 하는데 구글 drive 에 대한 접근 권한이 필요하여 문의 드립니다. 접근 권한 어떻게 신청하면 될지 문의 드립니다.

  • 딥러닝
  • 인공신경망
  • 인공신경망
  • pytorch
  • 딥러닝
Eric Kim 댓글 0 좋아요 0 조회수 404

nn.CrossEntropyLoss() method 질문

미해결

[Pytorch] 파이토치를 활용한 딥러닝 모델 구축

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 좋은 강의 항상 감사드립니다. nn.CrossEntropyLoss() 는 nn.LogSoftmax 와 nn.NLLLoss 연산의 조합이라고 말씀해 주셨고, cross-entropy는 아래와 같은 식인 것으로 알고 있습니다. 위 식에서 log는 한번만 취해지는 것으로 보입니다. 그런데 CrossEntropyLoss가 LogSoftmax 와 NLLLoss 연산의 조합이라면 Log 함수가 두번 사용 되는 것 같아서 이해가 잘 되지 않습니다. 설명을 해주시면 감사드리겠습니다 :-)

  • 딥러닝
  • 인공신경망
  • 딥러닝
  • anaconda
  • pytorch
  • 인공신경망
  • cnn
Dae Young Kang 댓글 1 좋아요 0 조회수 592

Prepare dataset 부분에서 코드 오류가 납니다 ㅠㅠ

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

첨부해주신 코드를 복사 붙여넣기 했는데, 오류가 나네요.. ㅠㅠ 오류명은 : ---> 21 class CustomDataset(Dataset): 22 def init (self, file_list, transform=None): 23 self.file_list = file_list TypeError: str() argument 'encoding' must be str, not tuple dataset_train = CustomDataset(train_list, transform=transforms_for_train) dataset_valid = CustomDataset(val_list, transform=transforms_for_val_test) dataset_test = CustomDataset(test_list, transform=transforms_for_val_test) CustomDataset 클래스를 통해, train, valid, test를 만들어주는 과정에서, str() arguments를 받아야 한다는 것 같은데.. 왜 오류가 나는지 잘 모르겠습니다. from torchvision import transforms input_size = 224 transforms_for_train = transforms.Compose([ transforms.RandomResizedCrop(input_size, scale=(0.5, 1.0)), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomRotation(10), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) transforms_for_val_test = transforms.Compose([ transforms.Resize(input_size), transforms.CenterCrop(input_size), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) #class Dataset class CustomDataset(Dataset): def __init__(self, file_list, transform=None): self.file_list = file_list self.transform = transform def __len__(self): return len(self.file_list) def __getitem__(self, idx): img_path = self.file_list[idx] if img_path.split('/')[-1][-3:] == 'jpg': img = Image.open(img_path) if self.transform is not None: img_transform = self.transform(img) label = img_path.split('/')[-1].split('.')[0] if label == 'dog': label = 1 elif label == 'cat': label = 0 return img_transform, label dataset_train = CustomDataset(train_list, transform=transforms_for_train) dataset_valid = CustomDataset(val_list, transform=transforms_for_val_test) dataset_test = CustomDataset(test_list, transform=transforms_for_val_test) # from torch.utils.data import DataLoader # 데이터 로더 클래스 # # train_batches = DataLoader(dataset=dataset_train, batch_size=8, shuffle=True) # val_batches = DataLoader(dataset=dataset_valid, batch_size=8, shuffle=False) # test_batches = DataLoader(dataset=dataset_test, batch_size=8, shuffle=False) 강의 내용과 같이 len(train_list), len(val_list)가 잘 출력이 됨을 볼 수 있고, Reference 항목에서 특정 img의 사이즈를 출력해볼 떄도, (500, 374) 라고 잘 출력됨을 알 수 있었습니다. train할 데이터와 test 데이터는 강의 중에 배운 os 명령어 및 with zip 명령어를 사용해서 <오류 화면 입니다.> 전체 작성한 코드 첨부드립니다. import zipfile Dataset = 'dogs-vs-cats-redux-kernels-edition' with zipfile.ZipFile('../BecomeProfessional/' + Dataset + ".zip", "r") as z: z.extractall(".") import pandas as pd import numpy as np import warnings warnings.filterwarnings('ignore') from PIL import Image import torch import torch.nn as nn from torch.utils.data import DataLoader, Subset from torchvision import datasets, transforms from sklearn.model_selection import train_test_split from copy import deepcopy import matplotlib.pyplot as plt import os, shutil import random import os #device 설정 device = 'cuda' if torch.cuda.is_available() else 'cpu' print(device) seed = 42 # seed값 설정 random.seed(seed) # 파이썬 난수 생성기 os.environ['PYTHONHASHSEED'] = str(seed) # 해시 시크릿값 고정 np.random.seed(seed) # 넘파이 난수 생성기 torch.manual_seed(seed) # 파이토치 CPU 난수 생성기 torch.backends.cudnn.deterministic = True # 확정적 연산 사용 설정 torch.backends.cudnn.benchmark = False # 벤치마크 기능 사용 해제 torch.backends.cudnn.enabled = False # cudnn 기능 사용 해제 if device == 'cuda': torch.cuda.manual_seed(seed) torch.cuda.manual_seed_all(seed) original_data_path = './Dog_Cat/' os.makedirs('dogsvscats', exist_ok=True) import zipfile with zipfile.ZipFile(os.path.join(original_data_path, 'train.zip')) as train_zip: train_zip.extractall('./Dog_Cat/dogsvscats') with zipfile.ZipFile(os.path.join(original_data_path, 'test.zip')) as test_zip: test_zip.extractall('./Dog_Cat/dogsvscats') import glob print(glob.glob('./Dog_Cat/dogsvscats/train/*')) 출력: ./Dog_Cat/dogsvscats/train\\cat.11346.jpg', './Dog_Cat/dogsvscats/train\\cat.11347.jpg', './Dog_Cat/dogsvscats/train\\cat.11348.jpg', './Dog_Cat/dogsvscats/train\\cat.11349.jpg', ' .... (엄청 많이 출력됩니다) train_dir = './Dog_Cat/dogsvscats/train' test_dir = './Dog_Cat/dogsvscats/test' all_train_files = glob.glob(os.path.join(train_dir, '*.jpg')) test_list = glob.glob(os.path.join(test_dir, '*.jpg')) train_labels = [path.split('/')[-1].split('.')[0] for path in all_train_files] train_list, val_list = train_test_split(all_train_files, test_size=0.1, stratify=train_labels, random_state=seed) print(len(train_list), len(val_list)) 출력: 22500 2500 train_list[0] 출력: './Dog_Cat/dogsvscats/train\\cat.4814.jpg' img = Image.open('./Dog_Cat/dogsvscats/train/cat.4814.jpg') img.size 출력: (500, 374) import IPython image1 = IPython.display.Image(filename='./Dog_Cat/dogsvscats/train/cat.4814.jpg') display(image1) from torchvision import transforms input_size = 224 transforms_for_train = transforms.Compose([ transforms.RandomResizedCrop(input_size, scale=(0.5, 1.0)), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomRotation(10), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) transforms_for_val_test = transforms.Compose([ transforms.Resize(input_size), transforms.CenterCrop(input_size), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) #class Dataset class CustomDataset(Dataset): def __init__(self, file_list, transform=None): self.file_list = file_list self.transform = transform def __len__(self): return len(self.file_list) def __getitem__(self, idx): img_path = self.file_list[idx] if img_path.split('/')[-1][-3:] == 'jpg': img = Image.open(img_path) if self.transform is not None: img_transform = self.transform(img) label = img_path.split('/')[-1].split('.')[0] if label == 'dog': label = 1 elif label == 'cat': label = 0 return img_transform, label dataset_train = CustomDataset(train_list, transform=transforms_for_train) dataset_valid = CustomDataset(val_list, transform=transforms_for_val_test) dataset_test = CustomDataset(test_list, transform=transforms_for_val_test) 오류 발생

  • 머신러닝
  • 딥러닝
  • 인공신경망
  • 머신러닝 배워볼래요?
  • 인공신경망
  • 딥러닝
  • pytorch
  • vision-transformer
minsubrother 댓글 1 좋아요 0 조회수 488

optimizer.zero_grad()에 관한 질문입니다

미해결

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

"파이토치로 딥러닝 구현 패턴 이해하기" 강의 7:56 부분에서, optimizer.zero _grad()는 기존의 연산을 끊어주는 역할을 하고, 이는 강의에서 전에 작성했던 W.detach_().requires_grad_(True) b.detach_().requires_grad_(True) 이 코드와 같은 역할을 한다고 설명해 주셨습니다. 설명을 듣고, pytorch 공식 문서 등에서 관련된 내용들을 찾아보니 "detach는 계산된 값과 동일한 저장 공간을 사용하지만, 계산 기록은 없는 tensor를 반환하여 tensor를 과거 계산 기록으로부터 떼어내는 역할을 한다" 라는 설명을 찾을 수 있었습니다. 그렇다면, 모델 파라미터의 미분값을 0으로 초기화하는 optimizer.zero _grad()는 W.detach_().requires_grad_(True) 이 코드와 엄밀히 따지자면 조금 다른 동작을 하는 것으로 이해하였는데요, '기존의 연산을 끊어준다' 라는 측면에서 조금 동작에 차이가 있다고 보는 것이 맞는지 설명 듣고 싶습니다! 감사합니다

  • 머신러닝
  • 딥러닝
  • pytorch
  • 인공신경망
  • 인공신경망
  • 머신러닝 배워볼래요?
  • 딥러닝
  • vision-transformer
vpdtlrdl 댓글 1 좋아요 0 조회수 574

pytorch custom layer

미해결

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

안녕하세요! pytorch library에 대한 질문이 있습니다. 저희는 pytorch로 모델을 구현할 때, nn.Module 오버라이딩하여 사전에 존재하는 모듈을 사용하여 모델을 구축합니다. 예를들어 lstm 같은 경우, 파이토치에 이미 lstm block이 구현되어있어서 그대로 가져다 씁니다. 만약 제가 직접 파이토치 상에서 layer를 직접 구축하고 싶을 때, 어떻게 구축해야하는지 궁금합니다. 파이토치 상에서 구현되지 않은 알고리즘을 파이토치로 구현하고 싶습니다. 혹시 참고할 만한 레퍼런스가 있다면 뭐든 너무 감사드립니다.

  • 딥러닝
  • python
  • 인공신경망
  • 딥러닝
  • 인공신경망
  • 머신러닝 배워볼래요?
  • pytorch
강현구 댓글 1 좋아요 1 조회수 950

Pooling layer 사용하는 이유가 궁금합니다. (CNN 이론 부분이에요)

해결됨

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

먼저 질문을 드린 이유는 CNN의 이미지 특징을 추출하는 과정에서 쓰이는, Convolution layer와 Pooling layer의 기능이 동일하고, Padding을 쓰는 이유에 대한 궁금증이 들었기 때문입니다. CNN 이론 강의 내용에서, CNN의 구조는 크게 (1)이미지 특징을 추출하는 부분 과 (2)클래스를 분류하는 부분 이 있다고 배웠습니다. (2)의 경우는 특징을 추출하고 난 뒤에 softmax나 , logsoftmax activation function을 통해, 분류하는 것이기 때문에, CNN 앞 시간에서 배웠던 1차원 형태의 데이터 처리하는 방법과 유사하다고 하셨습니다. Convolution layer는 filter(kenel)이 창문 닦듯이(알고리즘으로 보면 슬라이딩 윈도우 느낌으로) 슥슥 움직이면서 Feature Map(특성 맵)을 추출하는데, 이 부분은 칼라이미지나 흑백이미지의 경우 기존의 1차원 형태의 데이터로 바로 만들어주는 과정에 비해, 공간적/지역적 정보를 유지할 수 있으며, 특정 부분을 추출할 수 있기 때문에 해당 이미지의 특징을 확인할 수 있는 장점을 가집니다. 하지만 영상에서 설명하셨듯이, filter가 적용되면서 중복되는 부분이 발생해서 계산양이 많아지고, 무엇보다 5x5이미지의 경우 3x3필터를 사용했을 때 3x3 크기가 되기 때문에 데이터가 소실되는 문제가 발생한다고 하셨습니다. 따라서, 이를 해결하기 위해, Zero padding을 적용하여, 이미지 가장자리를 0으로 감싸줌으로써 3x3필터를 사용하더라도, 5x5의 원본 이미지의 크기가 3x3 크기가 아닌 5x5로 보존되기 때문에, 데이터 소실을 방지할 수 있다고 들었습니다. Q1: 그래서 여기 까지 들었을 때, 특징을 잘 추출하기 위해 커널의 크기를 작게 했을 때, 원본 크기에 비해, output이 작아질 수도 있으니까 zero padding을 쓰는 것이 중요하구나... 하는 생각과 zero padding을 통해 원본 크기를 보존하는 것이 중요하구나 라고 생각했습니다. 혹시 맞을 까요? 그리고 나서, Pooling 설명을 들었는데, Pooling layer는 convolution layer에서 얻어진 output에서 특징을 뽑아 내는 과정이기 때문에, 얻어진 feature map의 사이즈가 줄어드는 현상이 발생하는데, 특징을 뽑아내는 것도 이해는 가지만, 데이터가 소실되는 문제가 발생할 수 있지 않을까...? 하는 생각이 들었습니다. CNN의 구조가 Convolution layer와 pooling layer가 같이 순서쌍으로 동작하기 때문에, 각각의 기능에 대해서 특징을 추출하는 과정이다는 부분에는 이해는 갔지만, padding의 기능때문에, 특징 맵의 크기를 보존하는 것이 원래 input가 비슷하게 보존하는 것이 좋은건지, 줄여나가는 건지 헷갈립니다.

  • 머신러닝
  • 딥러닝
  • 딥러닝
  • pytorch
  • 인공신경망
  • 인공신경망
  • 머신러닝 배워볼래요?
  • vision-transformer
minsubrother 댓글 1 좋아요 0 조회수 1247

10_ADVANCE_EXAMPLE-에서 MNIST 함수 작성할 때 index_error가 나타납니다 ㅠㅠ

해결됨

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

항상 강의들으면서, 따라치면서, 여러번 반복해서 익히려고 하고 있습니다. 지금까지 별 문제 없이 쏙쏙 이해가 잘 가서, 지금까지 질문을 드리지 않았는데요.. 함수를 작성하는 부분에서 자꾸 인덱스 에러가 나타나서, 제가 어느 부분을 잘못 쓴 건지 모르겠습니다. 선생님께서 작성하신 코드를 그대로 복사해서 넣었는데도 index error가 호출되어서 왜 그런지 모르겠습니다...

  • 머신러닝
  • 딥러닝
  • vision-transformer
  • pytorch
  • 인공신경망
  • 머신러닝 배워볼래요?
  • 인공신경망
  • 딥러닝
minsubrother 댓글 1 좋아요 0 조회수 575

실습코드

해결됨

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

제2강에 있는 실습코드는 어떻게 다운로드 받는건가요?? 호형님 아이디 비번이 있는건가요?? 제가 찾아봐도 잘 모르겟네요.

  • python
  • 딥러닝
  • 머신러닝 배워볼래요?
  • pytorch
  • 인공신경망
Ramnant 댓글 2 좋아요 1 조회수 376

cartpole_reinforce.ipynb 에러

미해결

프로그래머를 위한 강화학습(저자 직강)

코랩에서 cartpole_reinforce.ipynb 실행시킬때 아래와 같은 에러 발생합니다. ValueError: Layer "my_model_1" expects 3 input(s), but it received 1 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, 1, 4) dtype=float32>] 에러나는 소스 위치는 아래 화면에서 "y_pred = self(states, training=True)" 부분에서 에러가 발생됩니다. class MyModel(tf.keras.Model): def train_step(self, data): in_datas, out_actions = data states, action_matrix, rewards = in_datas[0], in_datas[1], in_datas[2] with tf.GradientTape() as tape: y_pred = self(states, training=True) action_probs = K.sum(action_matrix*y_pred, axis=-1) loss = -K.log(action_probs)*rewards trainable_vars = self.trainable_variables gradients = tape.gradient(loss, trainable_vars) self.optimizer.apply_gradients(zip(gradients, trainable_vars)) tensorflow 버젼 : 2.9.2 이며, 모델에 3개의 값을 주어야 하는데, 1개만 받아서 그런것 같습니다. 해결 방법 알려 주시기 바랍니다. 감사합니다.

  • 강화학습
  • 인공신경망
yunwoo oh 댓글 2 좋아요 0 조회수 576

torchtext.data 에러

미해결

[PyTorch] 쉽고 빠르게 배우는 NLP

안녕하세요. 강사님. torchtext 모듈 import간 에러가 나타나 문의합니다. 섹션 2 sequence Tagging 실습편의 코드를 연습하던 중 load_dataset() 함수를 불러올 때 다음과 같이 AttributeError: module ' torchtext.data ' has no attribute 'Field' 라는 에러가 출력됩니다. 찾아보니 torchtext의 버전문제로 현재 최신버전에서는 torchtext.legacy로 import를 사용해야한다고 합니다만 그럴 경우 ImportError: cannot import name 'unicode_csv_reader' from 'torchtext.utils'라는 에러가 출력되어 어떻게 해결해야할지 궁금합니다. 실습환경: 코랩 운영체제: 우분투 18.04 해당 에러 관련 사이트 링크: https://stackoverflow.com/questions/66516388/attributeerror-module-torchtext-data-has-no-attribute-field

  • pytorch
  • 딥러닝
  • NLP
  • 인공신경망
젊음의돌 댓글 1 좋아요 0 조회수 2055

검증 및 테스트 진행시 Drop-out 질문

해결됨

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

드롭아웃은 학습시에만 사용해야한다고 하였는데, 그렇다면 검증 및 Test를 진행할때 model.eval()을 해주면 드롭아웃이 자동으로 비활성화 되는 것인가요?? 아니면 따로 설정을 해주어야 하는건가요??

  • pytorch
  • python
  • 딥러닝
  • 머신러닝 배워볼래요?
  • 인공신경망
김남욱 댓글 1 좋아요 0 조회수 1923

XOR 문제 행렬 연산

해결됨

실전 인공지능으로 이어지는 딥러닝 개념 잡기

XOR문제 영상 6분 40초 쯤 입력값을 행렬로 넣을 때 왜 전치 행렬이 사용되는지 잘 모르겠습니다. 행렬계산의 공식 같은 것인 가요? 아니면 x1과 x2가 원래 열로 들어오다가 행으로 들어가서 전치 행렬이 필요한 건가요? 그리고 H와 X 순서가 바뀌는 이유는 입출력을 4Xn 행렬로 만들기 위해서 인가요?

  • 인공신경망
  • 머신러닝 배워볼래요?
  • 딥러닝
박순성 댓글 1 좋아요 6 조회수 612

NLP에 RNN을 사용하는 이유

해결됨

[PyTorch] 쉽고 빠르게 배우는 NLP

본 강의에 NLP 방법으로 RNN이 나와있는데 인공지능에는 RNN 뿐만 아니라 GAN도 있고 뭐 여러가지가 있잖아요 그 중에서 RNN 기법을 꼭 사용해야 하는 이유가 있나요? R&D 사업계획서 같은 거를 쓸 때 어떤 토픽에 대한 해결 방법을 무슨 무슨 인공지능 기법을 쓴다고 할 때 그 기법을 쓰는 이유로 반 페이지에서 1페이지 가량 써야한다고 하면 어떤 걸 적는 게 좋을까요?

  • 딥러닝
  • NLP
  • 인공신경망
  • pytorch
dorslee 댓글 1 좋아요 0 조회수 292

인기 태그

인프런 TOP Writers

주간 인기글