정리 (4) 썸네일형 리스트형 Conv와 ConvTranspose CEGAN모델을 구현하는 과정에서 ConvTranspose에 대해 배운것이 있어서 적어두려 한다. ConvTranspose는 입력 이미지를 확장하는데 사용하는것으로 알고 있었다. Unet구조나 Autoencoder에서 decoder부분에서 이미지를 원래 상태로 돌리기 위해 사용되는것으로 알고 있었는데 CEGAN을 구현하는 과정에서 ConvTranspose의 다른 역할을 알게 되었다 ConvTranspose ConvTranspose의 역할은 크게 두가지로 볼 수 있다 1. 이미지 확장 2. 출력 이미지 채널 수 조정 ConvTranspose는 이 두가지 역할을 통해 출력 이미지의 복잡도를 제어한다. 이미지를 확장시키는 경우는 kernel_size와 stride를 크게 설정하여 입력 이미지를 더 크게 만든다.. 파이토치 Dataset, Dataloader 파이토치에서는 데이터셋을 좀 더 쉽게 다룰 수 있도록 유용한 도구로서 torch.utils.data.Dataset과 torch.utils.data.DataLoader를 제공한다. 이를 사용하면 미니 배치 학습, 데이터 셔플(shuffle), GPU 병렬 처리까지 간단히 수행할 수 있다고 한다. 데이터셋마다 load하는 방법과 전처리가 다르므로 그에 맞게 Dataset 클래스를 바꾸어주기위해 사용한다고 보면 된다. 딥러닝 구현 코드를 보던 중 Dataset을 부모 클래스로 두는 경우가 있어서 찾아보니 부모 class로 둔 Dataset이 torch.utills.data.Dataset 이라는걸 알게 되어 이를 정리해보고자 한다. 기본적인 사용 방법은 Dataset을 정의하고, 이를 DataLoader에 전달.. class 와 super정리 딥러닝 코드를 보다보면 (특히 파이토치에서) super가 나오는 코드가 많은데, 매번 햇갈려서 정리하려 한다. 1. 부모클래스 2. 자식클래스 - *args, *kwargs/ super의 버전별 문법 3. super을 사용하는 이유 4. 매서드 오버라이딩 5. object를 상속 1. parent class-부모 클래스 class Person: total_count = 0 def __init__(self, name, idnum, gender): self.name = name self.idnum = idnum self.gender = gender #얘는 생성자함수에 속하는 애가 아니니까 Person.이 되어야 함 Person.total_count += 1 total_count는 static 변수고 초기화해.. Dense Layer 정리 in tensorflow #은닉층 뉴런 dense1 = keras.layers.Dense(100, activation='sigmoid', input_shape=(784,)) # dense1 = keras.layers.Dense(뉴런개수, activation='sigmoid', input_shape=input크기) #뉴런개수 #액티베이션 fun. #input 크기 # 출력의 개수가 10개인데 10개보다 은닉층의 뉴런의 개수가 적다면 부족한 정보가 전달 됨 #출력층 뉴런 dense2 = keras.layers.Dense(10, activation='softmax') model = keras.Sequential([dense1, dense2]) #784개의 픽셀값이 은닉층을 통과하면서 100개의 특성으로 압축됨.. 이전 1 다음