반응형

MNIST 4

[Pytorch] 파이썬 Domain Adaptation 구현 예제(feat. DANN Loss)

이번 글에서는 파이토치로 DANN Loss를 활용한 Domain Adaptation을 간단하게 구현해보는 실습 코드 예제를 다루어보도록 하겠습니다. DANN Loss는 class label 분류 학습과 함께 domain 분류를 진행하되, domain 분류 layer의 gradient에 음수 배를 취하여 domain 간의 거리를 줄이도록 유도하는 학습을 통한 domain adaptation 방식으로 유명하게 사용되는 손실 함수 방식입니다. 여기에서는 예시로 두 숫자 글씨 데이터인 MNIST와 SVHN에 대하여 domain adaptation을 진행해보도록 하겠습니다.(아래 Figure와는 Source와 Target이 반대인 점을 유의해주세요.) Step 1. 데이터셋 로드 및 전처리 먼저, MNIST와 S..

Python/Pytorch 2022.10.14

[Pytorch] 파이썬 Contrastive Learning 구현 예제(feat. SimCLR)

Python 파이토치 SimCLR Contrastive Learning 실습 이번 글에서는 파이썬에서 파이토치 모듈을 활용하여 SimCLR 논문의 Contrastive Learning 사례를 간략한 버전으로 구현해보도록 하겠습니다. 이번 사례에서는 설명 간략화를 위하여 비교적 간단한 MNIST 데이터셋을 사용해 보았으며, 모델로는 아주 단순한 CNN 구조를 가정하고 기법을 구현해 보았습니다. 또한, data augmentation은 cutout 이후 회전을 수행하는 1가지 방법에 대해서만 학습을 진행해보는 예제로 글을 구성하였습니다. Step 1 : 데이터셋 불러오기 MNIST 데이터셋을 불러올 수 있는 방법은 torchvision 모듈을 활용할 수도 있지만 여기서는 사이킷런을 이용하여 데이터를 불러오고..

Python/Pytorch 2022.07.20

[Tensorflow] 파이썬 keras CNN 구현 간단 예제(MNIST 이미지 분류)

텐서플로우 케라스로 CNN 모델 코드 구현하기 파이썬에서 Tensorflow 2.x 버전의 케라스 모듈을 활용하여 CNN 모델 구조를 구현하여 MNIST 이미지 분류를 진행하는 예제를 다루어보겠습니다. 데이터셋 로드 먼저, keras에서 자체적으로 제공하는 MNIST 데이터셋을 가져오고, shape를 확인해보겠습니다. import tensorflow as tf mnist = tf.keras.datasets.mnist (X_train, y_train), (X_test, y_test) = mnist.load_data() # 0 ~ 255 사이 정수 -> 0 ~ 1 사이 실수로 변환 X_train, X_test = X_train / 255.0, X_test / 255.0 print("X_train shape ..

Python/Tensorflow 2022.06.17

[Sklearn] 파이썬 MNIST 데이터셋 불러오기, 숫자 시각화 예제

파이썬 사이킷런으로 손글씨 숫자 인식 데이터셋 다루기 파이썬에서 손글씨 숫자 인식 데이터셋인 MNIST를 불러오고 데이터를 몇개 뽑아 숫자 글씨의 상태를 시각화해보는 예제를 살펴보도록 하겠습니다. MNIST 데이터셋 로드 MNIST의 각 데이터는 28 * 28 픽셀(총 784개)의 각 위치에 0~255 사이의 정수 값이 저장된 형태입니다. MNIST 전체는 총 7만 장의 사진으로 구성되어 있기에 따라서 데이터프레임으로 불러오게 된다면 행이 7만개이고, 열이 784개로 이루어진 형태를 나타내게 됩니다. 파이썬에서는 sklearn의 fetch_openml 함수로 아래처럼 mnist 데이터를 불러올 수 있습니다. (데이터셋을 불러오는 데에는 수 분 가량이 소요될 수도 있습니다.) from sklearn.dat..

Python/Sklearn 2022.05.31
반응형