목록MNIST (10)
NeuroWhAI의 잡블로그
사실 정석의 DCGAN과는 차이(드롭아웃을 썼다거나)가 있지만 신경망 구성이야 쉽게 바꿀 수 있으니 틀만 보신다는 느낌으로 봐주세요.참고로 제가 처음부터 짠 코드는 아니고 오픈소스를 좀 수정했습니다. import numpy as np from keras.models import * from keras.layers import * from keras.optimizers import * from keras.datasets import mnist import keras.backend as K import matplotlib.pyplot as plt K.set_image_data_format('channels_last') class Gan: def __init__(self, img_data): img_size ..
케라스로 MNIST 데이터를 학습시키고 외부 이미지 하나를 불러와서 무슨 숫자인지 출력해보는 예제입니다.기본적으로 CNN이고 배치정규화, 드롭아웃을 추가로 사용했습니다. 이미지는 무조건 input.png라는 이름으로 작업 경로에 존재해야 하고 28x28 크기여야 합니다.배경은 검은색, 숫자는 흰색으로 그리세요.input.png가 없으면 구글 드라이브에서 테스트 이미지를 다운로드하는데 번거로우니 그냥 직접 그리세요. 미리 학습된 가중치 데이터를 원하시면 아래 링크에서 받으시고 작업 경로에 넣어주세요. 코드: # !pip install -U -q PyDrive import sys import os.path import numpy as np import keras from keras import layers,..
※ 실제로 동작하는 전체 소스코드는 GitHub에서 보실 수 있습니다. 이번에는 이때까지 구현한 기능을 조합하여 2층 신경망을 만들어봅니다. 다만 수치 미분을 사용했기에 매우 느려 학습이 잘 되는지는 확인하지 못했으니 대충 흐름만 보시면 되겠습니다. 코드에서 MNIST 데이터셋과 관련된 부분은 포함하지 않았으니 관심있으신 분은 GitHub에서 보시면 되겠습니다.또한 속도를 높히기 위하여 데이터셋의 일부만 학습에 사용하였고테스트를 위해 사용했던 해석적 미분을 이용한 부분은 주석 처리 해두었습니다. 코드: use std::f32; use rulinalg::matrix::{Matrix, BaseMatrix, BaseMatrixMut}; use rand; use ch03::activation; use commo..
https://dreamgonfly.github.io/rnn/2017/09/04/understanding-rnn.html 여기서 나온 설명과 코드를 가지고 직접 돌려봤습니다. 텐서플로의 기본적인 요소만 사용해서 RNN을 직접 만들고 MNIST 학습을 시켜보는 예제입니다. 이론적인 설명만 공부했을땐 RNN의 동작이 머리에 잘 그려지지 않았는데 이렇게 직접 구현하니 바로 이해가 되네요. 테스트하면서 신기했던건 Optimizer를 Adam으로 바꾸니 학습이 잘 안됬다는거? 또 이상한건 결과를 보시면 아시겠지만 도중에 정확도가 갑자기 확 떨어지는건 대체 왜 그런걸까요... 코드에 버그가 있나? 코드:123456789101112131415161718192021222324252627282930313233343536..
※ 이 글은 '코딩셰프의 3분 딥러닝 케라스맛'이라는 책을 보고 실습한걸 기록한 글입니다. keras.preprocessing.image.ImageDataGenerator는 데이터를 이리저리 변형시켜서 새로운 학습 데이터를 만들어줍니다. 변형의 예시는 회전, 이동 등등 매우 다양합니다. 아래 코드는 CNN을 이용해서 MNIST 이미지를 분류하는 예시인데 일부러 데이터 수를 줄이고 ImangeDataGenerator를 통해서 데이터를 늘린 뒤 학습을 진행할겁니다. 코드:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717..
※ 이 글은 '코딩셰프의 3분 딥러닝 케라스맛'이라는 책을 보고 실습한걸 기록한 글입니다. GAN으로 MNIST 이미지를 생성하는 예제입니다. 책의 코드에서 뺀 부분이 많습니다. 코드:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134f..
※ 이 글은 '코딩셰프의 3분 딥러닝 케라스맛'이라는 책을 보고 실습한걸 기록한 글입니다. 입력과 똑같은 출력을 내도록 학습하면서 데이터의 특징을 스스로 압축(추출)하는 오토인코더로 MNIST를 학습시켜 보았습니다. 아직 오토인코더 파트의 반만 보았지만 이 책에서도 오토인코더로 얻은 특징을 실제로 사용하는 예시는 없는 것 같습니다 ㅠㅠ 코드: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103from..
※ 이 글은 '코딩셰프의 3분 딥러닝 케라스맛'이라는 책을 보고 실습한걸 기록한 글입니다. 코드: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990#-*- coding: utf-8 -*- import numpy as npimport kerasfrom keras import layers, models, datasets, backendfrom keras.utils import np_utilsimport matplotlib.pyplot as plt clas..
역시 초짜가 건들기엔 너무 무리한것 같습니다 ㅠㅠ 생성기 학습이 잘 안되네요... 판별기에 FC를 넣어서 그런가 아니면 속도좀 올린다고 conv 계층을 두개나 줄여서 그런건지. 코드: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101..
※ 이 글은 '골빈해커의 3분 딥러닝 텐서플로맛'이라는 책을 보고 실습한걸 기록한 글입니다. 넵 이전 예제에 이어서 또 GAN 입니다. 미리 스포(?) 해드리자면 이번 예제는 제가 이해를 덜했습니다... ㅠ 코드: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96..