xy = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
y_data = xy[:, [-1]]

y_data = xy[:, [-1]] # 2차원배열 ( 인덱싱 대상과 같은 차원을 유지한채 마지막 전 배열 가져옴)
y_data_test1 = xy[:, -1] # 1차원배열 ( 인덱싱 대상의 차원이 1차원 줄어들고, 위 같을 하나의 배열에 담음)

mnist = fetch_openml('mnist_784', version=1, cache=True, as_frame=False)

import torch
import torch.nn as nn
relu = nn.ReLU()
x = torch.tensor([-2.0, -1.0, 0.0, 2.0, 3.0])
print(relu(x))
# tensor([0., 0., 0., 2., 3.])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/7, random_state=0)
# 텐서로 변환
X_train = torch.Tensor(X_train)
X_test = torch.Tensor(X_test)
y_train = torch.Tensor(y_train)
y_test = torch.Tensor(y_test)
#TensorDataset 객체 생성
ds_train = TensorDataset(X_train, y_train)
ds_test = TensorDataset(X_test, y_test)
# DataLoader 객체 생성
loader_train = DataLoader(ds_train, batch_size=64, shuffle=True)
loader_test = DataLoader(ds_test, batch_size=64, shuffle=True)
model = nn.Sequential()
model.add_module("fc1", nn.Linear(28*28*1, 100))
model.add_module("relu1", nn.ReLU())
model.add_module("fc2", nn.Linear(100,100))
model.add_module("relu2", nn.ReLU())
model.add_module("fc3", nn.Linear(100,10))
print(model)
1) 비선형성(Non-linearity)을 주기 위해서

