본문 바로가기

분류 전체보기465

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.
Call by Value와 Call by Reference Call by Value와 Call by Reference에 대해서 프로그래밍을 공부하는 분이라면 많이 들어보셨을테고, 어떤 개념인지 잘 아실 것이라고 생각합니다. Call by Value Call by Value는 값에 의한 호출을 의미하며, 원본 값을 복사하여 함수 매개변수로 전달하는 것입니다. 기본적으로 C/C++은 함수로부터 객체를 전달받거나, 함수에 객체를 전달할 때 'Call by Value' 방식을 사용합니다. 여기서 Value는 값을 담을 수 있는 모든 타입이 해당됩니다. (정수형, 문자형, 실수형, 주소값, Class 등) 익숙한 예시인 swap 함수를 살펴봅시다. #include using namespace std; void Swap(int a, int b) { int temp = a;.. 2020. 11. 22.
CNN (LeNet-5, AlexNet, VGG-16, ResNets, Inception Network) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 네 번째 강의 Convoluional Neural Network를 듣고 정리한 내용입니다. (Week 2) - Case Studies [Why look at case studies?] 여러 연구/논문에서 CNN의 효과적인 Building Block 구성 방법이 연구되었으며, 이런 예시들을 참고하는 것이 CNN으로 학습할 때 유용하다. 현대 Computer Vision의 토대가 되는 Classic Networks는 아래와 같은 것들이 있다. LeNet-5 AlexNet VGG 그리고, 이번 강의에서 CNN에서 유용하게 사용되는 ResNet or Conv Residual Network와 Inception N.. 2020. 11. 18.
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.
Regularization 적용에 따른 학습 비교 (tensorflow v2.3.0 - Colab) 이번에는 Courser Deep Learning 특화과정 2번째 강의 1주차 실습 중에 하나인 Regularization에 대해서 텐서플로우로 다시 살펴보도록 하겠습니다. 2020/09/26 - [Coursera 강의/Deep Learning] - [실습] Regularization(L2 Regularization, Dropout) [실습] Regularization(L2 Regularization, Dropout) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 두 번째 강의 Improving Deep Neural Networks: Hyperparameter tuning, Regularization .. 2020. 11. 16.
Initialization에 따른 학습 비교 (tensorflow v2.1.0 - jupyter notebook) 이번에는 Coursera Deep Learning 특화과정 두번째 강의 1주차에서 실습한 initialization 선택에 따른 학습비교를 tensorflow에서 구현해보도록 하겠습니다. 2020/09/26 - [Coursera 강의/Deep Learning] - [실습] Initialization 초기화 [실습] Initialization 초기화 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 두 번째 강의 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization를 듣고 정리한 내용입.. 2020. 11. 15.
Cat Classification (2) : L-layers Neural Network 2020/11/15 - [ML & DL/tensorflow] - Cat Classification (1) : simple neural network Cat Classification (1) : simple neural network 이번에는 Courser Deep learning 특화과정 첫번째강의 2주차 수업에서 실습했던, cat classification을 구현해보도록 하겠습니다. 2020/09/24 - [Coursera 강의/Deep Learning] - [실습] Logistic Regression with.. junstar92.tistory.com 위 글에 이어서 이번에는 L개의 layer를 가지는 Neural Network를 설계해보도록 하겠습니다. 구현은 tf.keras를 통해서 할 예정인데,.. 2020. 11. 15.
Cat Classification (1) : simple neural network 이번에는 Courser Deep learning 특화과정 첫번째강의 2주차 수업에서 실습했던, cat classification을 구현해보도록 하겠습니다. 2020/09/24 - [Coursera 강의/Deep Learning] - [실습] Logistic Regression with a Neural Network(can / non-cat classifier) [실습] Logistic Regression with a Neural Network(can / non-cat classifier) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 첫 번째 강의 Neural Networks and Deep Learning를 듣고 정리한 내용입니다. (Week 2).. 2020. 11. 15.