선형회귀
경사하강법 (Gradient Descent)
- 점차적으로 loss 손실 최소화 찾는 방법
실습
# -*- coding: utf-8 -*- """ Created on Sun Mar 3 15:19:38 2019 @author: KSM06-05 """ import numpy as np import matplotlib.pyplot as plt import tensorflow as tf #테스트용 시드 맞추기 np.random.seed(0) # y=ax+b 기본 선형회귀 기준 a=w w=5 b=2 x_data=[] y_data=[] y_line=[] for i in range(1000): x=np.random.normal(0,1) e=np.random.normal(0,5) y=w*x+b+e #1차함수 # y=w*x*x+b+e #2차함수 # y=w*x*x*x+b+e #3차함수 y_line.append(w*x+b) x_data.append(x) y_data.append(y) #print(x_data) #각 범주별로 데이터 갯수 그래프 #plt.hist(x_data) plt.plot(x_data,y_data,'r+') plt.plot(x_data,y_line) plt.show() ########################tensorflow #tf.Placeholder #tf.Variable #Model: y=wx+b # w=? b=? # 추정하고싶은 값을 Variable로 놓고 # 초기화작업은 uniform 분포화 #-----------------1.변수 초기화----------------- W=tf.Variable(tf.random_uniform([1],-15,15)) #random_uniform일정한 값으로데이터깔기 b=tf.Variable(tf.zeros([1])) print("W:",W,"b:",b) #-----------------2.모델 정의(예측)------------------- #y=W*x+b y=W*x_data+b #-----------------3.손실(차이) 정의 ------------ #loss=y-y_data #loss=tf.square(y-y_data) #loss=tf.reduce_sum(tf.square(y-y_data)) loss=tf.reduce_mean(tf.square(y-y_data)) #평균 #----------------4.손실 최소화 방법 선택 --------- optimizer=tf.train.GradientDescentOptimizer(0.1) #간격 #----------------5. 사용방법 지시 -------------- train_step=optimizer.minimize(loss) #optimizer=tf.train.GradientDescentOptimizer(0.1).minimize(loss) --으로도 구현 가능 ########### 세션 작업 ########### ## 변수 초기화 세션 실행 준비 Variable 가 있을 경우 init=tf.global_variables_initializer() sess=tf.Session() sess.run(init) #반복 #sess.run(train_step) #w_=sess.run(W) #b_=sess.run(b) #print("W_:",w_,"b_:",b_) #sess.run(train_step) #w_=sess.run(W) #b_=sess.run(b) #print("W_:",w_,"b_:",b_) #반복문사용 # 순차적으로 트레이닝 for step in range(50): sess.run(train_step) w_=sess.run(W) b_=sess.run(b) print("W_:",w_,"b_:",b_) |
https://tensorflowkorea.gitbooks.io/tensorflow-kr/g3doc/tutorials/mnist/beginners/
그래픽 데이터 다룰때 도움되는 툴 xnview, hxd
https://www.xnview.com/en/
https://www.xnview.com/en/xnview/#downloads
헥사에디터
https://mh-nexus.de/en/hxd/
xnview --> Raw image 확인
HxD --> Raw image 코드확인
구글에서 이미지 저장
xnview
1. 사진불러오기
2. 이미지 crop 하기
3. image-resize 가로,세로 중 큰값(28)으로 resize
4. Canvas-size Keep radio 해제 가로세로 사이즈 28로 맞춰줌 공백 흰색
5. image-convert to Binary - no Dither
6. 저장 raw image
HxD
1. 저장한 raw 이미지 불러와서
2. 위에 저장한 28로 변경 하면 위 캡처하면 나옴.
jupyterLab
- markdown
크로스앤들로핀
plt cmap
'AI > DeepLearning' 카테고리의 다른 글
텐서플로우 개발 환경 구축 2 (텐서플로우 설치) (0) | 2020.06.01 |
---|---|
텐서플로우 개발 환경 구축 1 (아나콘다 설치) (0) | 2020.05.26 |
딥러닝 2일차 텐서플로우 실습 (0) | 2019.03.03 |
딥러닝 아나콘다 설치 및 spider 실습 (0) | 2019.03.03 |
딥러닝 2일차 (0) | 2019.03.03 |