6. TensorFlow에서 변수를 표현하는 방법
constant()로 상수 정의
Variable()로 변수 정의
assign(v, calc_op) 계산한 값을 v에 할당
Session() 을 만들고 처리 내용을 수행
Tip 머신러닝을 할 때는 학습 할 매개변수를 변수에 저장해야합니다.
매개변수를 사용하여 상수와 변수에 별칭 설정
7. TensorFlow의 플레이스홀더
플레이스홀더는 값을 넣을 수 있는 공간
placeholder()로 선언
여기서는 32비트 정수 형태에 요소가 3개 있는 배열로 선언
run() 을 할 때 feed_dict에
플레이스홀더 값을 집어 넣고 연산
Tip SQL 문장에 “?”도 플레이스홀더라고 이야기 할 수 있습니다.
10. TensorFlow으로 머신러닝 해보기
1
1. pandas를 통해 bmi.csv 파일 읽기
2. 데이터를 정규화
3. 3개의 레이블을 배열로 변환
4. 테스트를 위해 5000개 데이터 분류
bmi 데이터 생성 코드
11. TensorFlow으로 머신러닝 해보기
2
데이터 플로우 그래프 구축하기
1. 플레이스홀더 선언
2. 변수 선언 초기값 0 (가중치, 바이어스)
3. 소프트맥스 회귀함수 정의
4. 모델 훈련하기
5. 정답률 구하기
Tip softmax와 cross entropy 함수는 한번 찾아보시면 좋습니다.
12. 소프트맥스 회귀 함수는 들어온 값을 확률로 리턴 해주는 함수
y = tf.nn.softmax(tf.matmul(x,W)+b)
y = softmax (W*x + b)의 표현을 TensorFlow에서는 다음과 같이 표현
softmaxinput probability
SOFTMAX와 CROSS - ENTROPY
13. softmax로 구한 값을 가지고
비용함수를 구하는 방식이 cross_entropy
softmax
2.0
1.0
0.1
0.7
0.2
0.1
1.0
0
0
cross
entropy
SOFTMAX와 CROSS - ENTROPY
15. TensorBoard로 시각화하기
tw= tf.summary.FileWriter(“log_dir”, graph=sess.graph)
TensorBoard 출력시키기 위한 SummeryWriter를 생성 하는 문장
실행시키면 log_dir 파일이 생성되고 위에 결과처럼 events파일이 생김
Tip 그래프를 보는 방법은 보통 노드 아래에서부터 계산합니다.
$ tensorboard —logdir=log_dir
-Tensorboard 출력-
20. 풀링층
77 80 90 55
30 85 80 44
35 28 74 33
45 51 65 29
특징맵
85 90
51 74
68 67
39 50
최대 풀링
평균 풀링
축소 방법
풀링층은 합섭곱층으로 얻은 특징맵을 축소하는 층입니다.
특징을 유지한 상태로 축소하므로 위치 변경으로 인한 결과 변화를 막아줍니다.
21. 전결합층
전결합층은 각 층의 유닛을 결합합니다.
합성곱층과 풀링층의 결과인 2차원 특징맵을 1차원으로 전개 하는 역할을 합니다.
25. TensorBoard으로 딥러닝하기
MNIST 손글씨 데이터를 내려받음
플레이스 홀더를 정의하고
x는 이미지 데이터 배열을 넣을 곳이고,
y_은 정답 레이블을 넣을 곳
여러 층을 중첩한 딥러닝을 수행하기 때문에 가중치와 바이어스를 위해 여러 변수를 사용
26. TensorBoard으로 딥러닝하기
합성곱을 수행하는 함수와
최대 풀링을 하는 함수
합성곱층1(conv1)을 지정
5*5 필터로 입력 채널1(흑백), 출력 채널 32로 지정
이것들을 합성곱 함수의 첫번째 매개변수에 지정
Relu함수 사용 : 입력이 0 이하면 0, 0 이상이면 값 출력
합성곱층2(conv2)을 지정
5*5 필터로 입력 32, 출력 64 채널을 지정