-torch.utils.data.Dataset
-torch.utils.data.DataLoader( 이것도 클래스이다. 대문자)
-도메인 특화된 데이터셋 제공
TorchVision(이미지처리)
TorchText(텍스트, 자연어처리)
TorchAudio(음성, 소리)
데이타셋에서 데이터셋을 생성해서 데이터로드에 assign한다.?
데이터셋으로 바로 통과하는게 아님.loader를 통해서..
ex) 김치를 한 포기를 한 번에 처리 못하니까 반찬통에 나눠 담기..= loader의 역할
-Dataset
-DataLoader
1급객체 = 못하는게 없는 놈, 제약이 없음
training_data = datasets.FashionMNIST(
root="data",
train=True, # 학습데이터 여부
download=True, #다운로드 하곘다
transform=ToTensor(), # 행렬 형태로 만들어러
)
test_data = datasets.FashionMNIST(
root="data",
train=False,
download=True,
transform=ToTensor(),
)
batch_size = 64
train_dataloader = DataLoader(training_data, batch_size=batch_size) # 다운받은 오브젝트를 dataLoder라는 클래스에 인자로 넣음
test_dataloader = DataLoader(test_data, batch_size=batch_size)
for X, y in test_dataloader:
print(f"Shape of X [N, C, H, W]: {X.shape}")
print(f"Shape of y: {y.shape} {y.dtype}")
break
ds = datasets.FashionMNIST(root="data", train=True, download=True,
transform=ToTensor(), target_transform=Lambda(lambda y: torch.zeros(10,
dtype=torch.float).scatter_(0, torch.tensor(y), value=1)) )
기본적인 파이썬 함수
def sample(arg1, arg2):
return arg1+arg2
print(sample(1,2)
arrow function(스칼라 스타일)
(arg1, arg2) -> (arg1+arg2)
파이썬 lambda 예시
lambda x: print(x)
lambda arg1,arg2 : arg1+arg2
(lambda x,y: x+y)(10,20) ----> 정의하면서 바로 호출하기, 여기서 이름을 붙이면?
a = (lambda x,y: x+y)
a(10,20)
from PIL import Image
image = Image.open("KakaoTalk_Photo_2022-10-02-21-45-03.jpeg")
image.show() # 하면 바로 이미지가 뜬다.---> 쥬피터에 뜨는거 아니고 새창