본문 바로가기

Onds의 모든 게시글 보기

(61)
예제로 다시 한번 이해하는 RNN구조 RNN을 실습해보자 import numpy as np from matplotlib import pyplot as plt from tensorflow.keras import datasets, layers, models 실습에 사용되는 패키지들이다. 텐서플로우 2.0은 선언하는 것은 생략하고 넘파이, 맷플롯립, 케라스 이렇게 사용된다. 이번에는 데이터셋을 호출하지 않고 만들어서 사용한다. data = np.sin( np.pi * np.arange(0, 100)* 2.025 ) + np.random.random(100) x = np.array([data[i+j] for i in range(len(data)-10) for j in range(10)]) x_train = x[:700].reshape(-1,10,1..
Show, Attend and Tell (Encoder, Decoder, Attention) 이번에 소개할 이미지 캡셔닝 논문은 2016년에 발표된 [Show, Attend and Tell: Neural Image Caption Generation with Visual Attention] 이다.이 논문은 6.2장에서 언급한 show and tell의 후속작으로 이전 논문에 Attention 매커니즘을 추가하였다. 이전 논문처럼 인코더 부분은 CNN으로 디코더 부분은 RNN(LSTM)으로 같으나 문장을 만드는 디코더 파트에 attention을 적용하였다. 그 결과 이미지 설명문의 매 단어를 생성할때 모델 스스로 이미지의 어디를 볼지 학습한다. Attention은 문자 그대로 ‘집중’하려는 것이며 이를 이미지 캡셔닝에 적용하면 위 그림처럼 이미지의 특정 부분을 더 집중해서 보는 것이다. frisbe..
Show and Tell (이미지 캡셔닝) 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com
GRU - 리셋 게이트 /업데이트 게이트 / 입력정보 처리 / 출력 값 계산 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com
YOLO (이론 + 실습) YOLO는 현재 v3 모델까지 나온 상황이며 v3 코드를 다루겠다 !wget https://pjreddie.com/media/files/yolov3.weights YOLOv3를 사용하기에 앞서 가중치를 받아야 한다 import os import scipy.io import scipy.misc import numpy as np import pandas as pd import PIL import struct import cv2 from numpy import expand_dims import tensorflow as tf from skimage.transform import resize from tensorflow.keras import backend as K from tensorflow.keras.laye..
faster R-CNN (이론 + 실습) Resnet을 입힌 Detection model(이론 + 실습) 텐서플로우 공홈에서 배포하고 있는 Faster R-CNN (inception resnet) 모델이다. 코드를 보면서 어떤 구조인지 이해를 해보자 import tensorflow as tf import tensorflow_hub as hub import matplotlib.pyplot as plt import tempfile from six.moves.urllib.request import urlopen from six import BytesIO import numpy as np from PIL import Image from PIL import ImageColor from PIL import ImageDraw from PIL import I..
이미지 분류하기 CNN으로 이미지를 분류해보자. try: %tensorflow_version 2.x except Exception: pass import tensorflow as tf #텐서플로우 2.x 실행 CNN을 돌리기에 앞서 텐서플로우(Tensorflow) 버전을 2.x으로 바꿔야 한다. 그래서 위에 코드를 실행하면 2.x로 바뀝니다. from tensorflow.keras import datasets, layers, models 모델을 작성하기에 앞서 keras 패키지를 호출한다. (train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data() 이미지 분류에 사용할 Mnist 데이터셋을 부릅니다. Mnist 데이터는 0 ~..
기본 RNN과 LSTM 비교 여기까지 RNN과 LSTM을 자세히 살펴 보았다. 두 순환신경망의 구조를 비교해보자. 아래 그림을 보자. 가장 간단하게 두 구조를 구별하는 방법은 타임스텝이 진행될때 한 셀에서 다음셀로 전달되는 정보의 개수를 확인하면 된다. 즉 위 그림에서는 셀과 셀 사이의 화살표 개수를 확인하면 되는것이다. 단기 기억 뿐인 RNN의 경우 다음 셀로 전달 되는 정보는 역시 바로 직전 타임스텝의 정보일 뿐이다. 그래서 그림에서 하나의 화살표만 볼 수 있다. 그러나 LSTM은 이름에서 보듯 Long-Short Term Momory 이므로 장기와 단기 기억이 모두 존재한다. 그러므로 구조 그림에서 두개의 화살표를 확인할 수 있다. 위 화살표는 장기 기억, 아래 화살표는 단기기억에 해당된다. 그림에서 보듯 단기 기억 뿐인 RN..