본문 바로가기

2020. 8. 2. 21:50
PyTorch Basics 데이터셋 다운로드 transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2) testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=Tr..
2020. 8. 1. 03:15
ResNet with Keras Residual block 생성 def residual_block(X, f, filters, stride, ver): X_shortcut = X#shortcut으로 보내주기 위해 저장. X = Conv2D(filters=F1, (1, 1), strides = (2,2), kernel_initializer = glorot_uniform(seed=0))(X) X = BatchNormalization(axis = 3)(X) X = Activation('relu')(X) X = Conv2D(filters = F2, kernel_size = (1, 1), strides = (1,1), padding = 'valid', kernel_initializer = glorot_uniform(seed=0))(X) X = B..
2020. 7. 27. 03:13
Keras Basics 1. Design model from keras.layers import Input, Dense, Activation, ZeroPadding2D, BatchNormalization, Flatten, Conv2D, MaxPooling2D, Dropout from keras.models import Model def Mymodel(input): X_train = Input(input) X = ZeroPadding2D((3, 3))(X_train) X = Conv2D(32, (7, 7), strides = (1, 1))(X) X = BatchNormalization(axis = 3)(X) X = Activation('relu')(X) X = MaxPooling2D((2, 2))(X) X = Flatten()(..
2020. 7. 12. 01:46
TensorFlow Basics TensorFlow Execution Step Step 1. Tensor 생성 및 정의 (Computation graph를 그리는 과정) Step 2. 세션 생성 및 실행 (Computation graph를 실행하는 과정) import tensorflow as tf a = tf.constant(2)#a에 상수 텐서 할당 b = tf.constant(3) c = tf.constant(np.random.randn(3,1))#텐서 dimension 설정 가능 d = tf.multiply(a,b)#a,b,c는 모두 텐서이다. 아직 연산이 이루어지지 않아 출력하면 결과가 바로 출력되지 않음. session = tf.Session()#값이 할당 및 연산되게 하려면 session을 생성하고 실행해야 함. print(..
2020. 6. 29. 17:46
Gradient Descent Optimization - Mini batch, Momentum, RMS, Adam, Learning rate decay Mini-batch 전체 데이터셋을 batch size 단위로 자른다. 맨 마지막 batch는 적은 수의 데이터를 가짐. def batch_partition(X, Y, batch_size=64, seed=0): np.random.seed(seed) m = X.shape[1]# number of training samples mini_batches = [] # 매번 셔플해서 샘플을 배치함으로써 epoch를 반복해도 mini-batch의 구성이 다르도록 함 permutation = list(np.random.permutation(m)) shuffled_X = X[:, permutation] shuffled_Y = Y[:, permutation] # Partition num_full_batches = math..