본문 바로가기
반응형

Study86

[tensorflow] ImageDataGenerator로 생성한 이미지 데이터로 학습 이미지 데이터 분석 *mnist 데이터 사용 이미지 분석을 하기 전에 데이터 분석을 해야 한다. 내가 가진 mnist 이미지 데이터는 각 레이블 값이 폴더명이고 폴더에는 폴더명에 해당하는 이미지들이 저장된 상태다. 레이블은 0부터 9까지 총 10개다. 각 레이블마다 몇개의 데이터가 있는지 확인하는 과정 nums_dataset=[] for lbl_n in label_nums: data_per_class=os.listdir('../dataset/mnist_png/training/'+lbl_n) len(data_per_class) nums_dataset.append(len(data_per_class)) 해당 코드를 실행하고 nums_dataset을 확인하면 각 레이블 마다 몇 개의 데이터가 있는지 확인할 수 .. 2021. 1. 25.
[PyTorch] PyTorch로 CNN 레이어 쌓기 레이어 이해하기 1. Convolution - in_channels: 받게 될 channel의 갯수 - out_channels: 보내고 싶은 channel의 갯수 - kernel_size: 만들고 싶은 kernel(weights)의 사이즈 layer = nn.Conv2d(1, 20, 5, 1).to(torch.device('cpu')) - 해당 레이어에 이미지 넣은 output 결과를 시각화하기 위한 작업 output_data = layer(image) output = output_data.data.cpu().numpy() 2. Pooling - input을 먼저 앞에 넣고, 뒤에 kernel 사이즈와 stride를 순서대로 넣음 pool = F.max_pool2d(image, 2,2) #MaxPool .. 2021. 1. 17.
[Tensorflow] 텐서플로우를 사용한 CNN 모델 학습&평가하기 모델을 학습시키기 전에 설정할 것 1. Loss Function - crossentropy 사용 - 그 중 sparse_categorical_crossentropy 사용 2. Metrics : 모델 평가 방법 - accuracy 사용 - accuracy가 가장 흔히 사용됨 #accuracy 설정하는 방법 1 metrics = ['accuracy'] #accuracy 설정하는 방법 2 tf.keras.metrics.Accuracy() 3. compile : Optimizer 적용 - 여러 optimizer 중 Adam으로 적용해준다. 모델 학습 1. 학습에 사용할 데이터셋 준비 - 사용한 데이터셋 : MNIST - 데이터 셋의 차원을 확인하고 gray scale이라면 차원을 하나 늘려주는 과정이 필요하다 .. 2021. 1. 17.
[CNN] 레이어 쌓아서 모델 생성하기 - MNIST 데이터 사용 과정 1. Feature Extraction - Convolution을 사용해 Feature 추출 - Tensorflow의 Conv2D 사용 2. Activation Function - ReLU 사용 - 값을 확인하면 최소값이 음수가 아니라 0임을 확인할 수 있다. 3. Pooling - MaxPool2D 사용 4. Fully connected 5. Flatten - output이 한줄로 쫙 펴짐 6. Dense - 입력과 출력을 연결하는 과정 7. Dropout - 학습이 진행되면서 학습이 잘 되는 것이 있고 안되는 것이 있는데 그러면 overfitting이 됨 - 그래서 학습할때마다 연결을 끊어주는 과정이 필요함 8. Build Model - input의 모양과 class의.. 2021. 1. 11.
반응형