본문 바로가기

ML & DL75

[Tensorflow][Kaggle] Cats vs. Dogs Classification(수정 : 2020-12-07) www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition Dogs vs. Cats Redux: Kernels Edition Distinguish images of dogs from cats www.kaggle.com 딥러닝 연습으로 Kaggle의 Dogs vs. Cats Classification을 진행해보겠습니다. 기존 사이트는 www.kaggle.com/c/dogs-vs-cats 이지만, 현재 결과 제출이 되지 않는 상태이기 때문에 위 사이트에서 진행하였습니다. 학습 모델은 간단한 CNN 모델과 Pre-trained된 VGG16 모델을 사용해서 진행해보도록 하겠습니다. 1. Data 전처리 우선 training에 사용되는 데이터는 총 25,000의 고양이와 개의 이.. 2020. 12. 4.
[Pytorch] softmax와 log_softmax (그리고 CrossEntropyLoss) Pytorch로 MNIST 분류 예제 문제를 구현하다가, torch.nn.functional에 softmax, log_softmax 두 가지가 있다는 것을 발견했습니다. 2020/12/01 - [ML & DL/pytorch] - [Pytorch] MNIST Classification (2020/12/02 수정) [Pytorch] MNIST Classification (2020/12/02 수정) (pytorch v1.7.0+cu101 / Colab을 사용했습니다.) (2020/12/12 수정내용) model의 마지막에 log_softmax는 빼야합니다. 아래에서 loss function으로 CrossEntropyLoss를 사용하는데, CrossEntropyLoss내에서 log_.. junstar92.tis.. 2020. 12. 2.
[Pytorch] MNIST Classification (2020/12/02 수정) (pytorch v1.7.0+cu101 / Colab을 사용했습니다.) (2020/12/12 수정내용) model의 마지막에 log_softmax는 빼야합니다. 아래에서 loss function으로 CrossEntropyLoss를 사용하는데, CrossEntropyLoss내에서 log_softmax 연산을 수행하고 있습니다. 따라서, model의 output은 log_softmax를 처리하지 않은 raw output이 되어야 합니다. log_softmax를 한번 더 수행했을뿐, 결과는 거의 유사합니다. tensorflow를 사용하다가 pytorch는 어떤가 궁금해서 pytorch도 사용을 해보려고 합니다. 기본적인 사용법은 pytorch 공식 홈페이지 튜토리얼을 참조하였고, 그 내용을 토대로 MNIST .. 2020. 12. 1.
교통 표지판 분류 예제 (tensorflow v2.3.1) 이번에는 위와 같은 교통 표지판을 분류하는 모델을 만들어보겠습니다. 기본 내용은 실전활용! 텐서플로 딥러닝 프로젝트를 참고하였습니다. 분류에 필요한 데이터는 아래 경로에서 다운받으실 수 있습니다. benchmark.ini.rub.de/?section=gtsrb&subsection=dataset#Imageformat German Traffic Sign Benchmarks Dataset Overview Single-image, multi-class classification problem More than 40 classes More than 50,000 images in total Large, lifelike database Reliable ground-truth dat.. 2020. 11. 26.
AutoEncoder(오토인코더) - MNIST dataset 사용 MNIST dataset을 사용해서 여러 모델로 오토인코더를 구성해보았습니다. 내용은 아래 사이트를 참조하였습니다. keraskorea.github.io/posts/2018-10-23-keras_autoencoder/ 케라스로 이해하는 Autoencoder Building Autoencoders in Keras keraskorea.github.io AutoEncoder(오터인코더)란 ? 오토인코더는 비지도 방식을 사용해서 데이터코딩을 학습하는데 사용되는 신경망입니다. 단순하게 말하자면 입력을 출력으로 복사하는 신경망인데, 네트워크의 layer를 쌓으면서 데이터를 압축하거나 입력 데이터의 노이즈를 제거해서 깔끔한 이미지로 복원한다거나하는 여러가지 다양한 오토인코더가 있습니다. 모델을 구성할 때 여러가지 제.. 2020. 11. 25.
Hand SIGNS 분류 예제 (3) - ResNet (tensorflow v2.3.0) 2020/11/17 - [ML & DL/tensorflow] - Hand SIGNS 분류 예제 (1) Hand SIGNS 분류 예제 (1) (tensorflow v2.3.0) Coursera Deep Learning 특화과정에 실습으로 진행했던 SIGNS dataset을 가지고, 위 이미지와 같이 분류를 해보도록 할 것입니다. Coursera 실습은 tensorflow 1로 진행되는데, 2버전에 맞추.. junstar92.tistory.com 2020/11/17 - [ML & DL/tensorflow] - Hand SIGNS 분류 예제 (2) - CNN 구조 사용 Hand SIGNS 분류 예제 (2) - CNN 구조 사용 (tensorflow v2.3.0) 2020/1.. 2020. 11. 24.
MNIST dataset 예제(ConvNet, VGG16) Tensorflow.keras에서 기본으로 제공하는 MNIST dataset을 사용해 CNN 기본 구조와 VGG16구조, 이 두가지를 사용해서 분류해보려고 합니다. 1. Dataset 준비 기본적으로 사용될 package와 MNIST dataset을 읽어옵니다. import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import time (x_train_orig, y_train_orig), (x_test_orig, y_test_orig) = tf.keras.datasets.mnist.load_data() print(f'input shape : {x_train_orig.shape}') print(f'output shape : {.. 2020. 11. 22.
Hand SIGNS 분류 예제 (2) - CNN 구조 사용 (tensorflow v2.3.0) 2020/11/17 - [ML & DL/tensorflow] - Hand SIGNS 분류 예제 (1) Hand SIGNS 분류 예제 (1) (tensorflow v2.3.0) Coursera Deep Learning 특화과정에 실습으로 진행했던 SIGNS dataset을 가지고, 위 이미지와 같이 분류를 해보도록 할 것입니다. Coursera 실습은 tensorflow 1로 진행되는데, 2버전에 맞추.. junstar92.tistory.com 이번에는 이전 게시글에서 사용했던 dataset으로 Convolutional Neural Network(ConvNet) 구조로 모델을 구현하고 학습을 해보려고 합니다. 그리고, 이전 게시글에서 언급했듯이 label data를 on.. 2020. 11. 17.
Hand SIGNS 분류 예제 (1) (tensorflow v2.3.0) Coursera Deep Learning 특화과정에 실습으로 진행했던 SIGNS dataset을 가지고, 위 이미지와 같이 분류를 해보도록 할 것입니다. Coursera 실습은 tensorflow 1로 진행되는데, 2버전에 맞추어서 한 번 구현해보도록 하겠습니다. 신경망은 이전에 고양이 분류와 같이 입력을 flatten해주고, 2개의 hidden layer를 갖도록 할 것이고, 우리가 구현해야 할 신경망의 구조는 다음과 같습니다. Input -> linear(25 units) -> relu -> linear(12 units) -> relu -> softmax(6 units) 1. Dataset 준비 import tensorflow as tf import numpy as.. 2020. 11. 17.
batch GD (with momentum, adam) 비교 (tensorflow v2.3.0 - jupyter notebook) 이번에는 momentum과 adam optimization을 사용해서 mini-batch GD, mini-batch GD with momentum, mini-batch GD with adam, 이 3가지의 학습을 비교해보도록 하겠습니다. mini-batch, momentum, adam에 대해서는 아래 게시글을 참조하시기 바랍니다. 2020/10/02 - [Coursera 강의/Deep Learning] - Optimization(최적화 알고리즘) : Mini-batch/Momentum/RMSprop/Adam Optimization(최적화 알고리즘) : Mini-batch/Momentum/RMSprop/Adam 해당 내용은 Courser.. 2020. 11. 16.