본문 바로가기

BSs75

[DL기초] batch_size, epoch, step 개념 그리고 iteration 일반적으로 Gradient Descent는 아래 3가지 개념을 베이스로 학습이 진행된다. batch_size: Gradient Descent를 한번 계산하기 위한 학습 데이터의 개수 steps: Gradient Descent를 batch_size별로 계산하되, 전체 학습 데이터에 대해서 이를 반복해서 적용한 횟수 epoch: 전체 학습 데이터에 대해서 steps를 진행 이제, 여기서 Iteration 개념이 헷갈린다. Keras의 경우 batch사이즈와 epochs를 인자로 입력해서 얼마나 반복적으로 학습을 수행할지 결정한다. 예를들어 학습데이터 전체가 100개이고, batch_size가 5인 경우, 1 epoch를 위해서 steps는 20번씩 Gradient Descent를 계산한다. (전체를 탐색한다.. 2021. 6. 9.
[DL] 경사하강법(Gradient Descent) 직접 구현하기 Gradient Descent - 경사하강법 딥 러닝에서는 함수의 예측값과 실제값의 차이(오류)를 줄이는 방향으로 가중치(w)를 계속 조절해야 하는데, 대표적인 방법으로 경사하강법을 사용한다. 핵심은 가중치(w)를 계속 조절하다가 더이상 오류값이 좁혀지지 않으면 그때가 최적이라 판단하고 w를 반환해 주는것이다. 그럼 어떻게..? gradient descent는 함수의 기울기를 이용해 최소값을 알아보는데 이 방법으로 알수있는것은 아래와 같다. 1. 기울기가 양수인 경우: x값이 커질 수록 함수 값이 커짐 => x를 음의 방향으로 옮겨! - 기울기가 음수인 경우: x값이 커질 수록 함수 값이 작아짐 => x를 양의 방향으로 옮겨! 2. 기울기의 값이 큰 경우(상대적으로): x의 위치가 최소값/최대값에 해당되.. 2021. 6. 4.
[python] opencv를 활용한 이미지에서 표 객체 찾기(table detection) 원래 corner detect를 찾아보다가 sift, harris 알고리즘 같은걸 보고 이 알고리즘 들은 table detect에 활용이 잘 안돼서 아에 box detect 하는 방법을 찾게되었다. 이 글은 기록용.. 아래 사진에서 표 부분만 좌표를 구할 것이다 필요 Library import cv2 import numpy as np Image Binaray gray_scale=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) _,img_bin = cv2.threshold(gray_scale,150,225,cv2.THRESH_BINARY) img_bin=~img_bin 표에 컬러가 있을 수 있으니 먼저 gray_scale로 변환하고, 이진화시킴 이진화된 이미지를 반전(~) 시켜주면 아.. 2021. 5. 31.
[python] 파이썬에서의 json(str)과 dictionary 타입.. 그리고 request 기본적으로 python에서 json 타입은 없다. json.dump() 를 해버리면 이 데이터의 타입은 str 보통 request.get() 같은 통신을 할때 웹에서 json 타입의 데이터를 받아와 처리해야 하는 경우가 많은데, str타입이라 특정 키값에 접근하기 쉽지 않다. 접근하는 방법은 json(str) -> dictionary로 변환 후 key에 접근... 아래와 같이 하면 dictionary 타입으로 변환된다. json.loads (json(str) -> dictionary) import json import requests url = 'localhost:8000/api/example' res = requests.get(url) type(res.text)# str res.['key-name']#.. 2021. 5. 27.