일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바스크립트
- mariadb
- spring
- Framework
- 이클립스
- 자료형
- 배열
- OrientDB
- online
- 파이썬
- ubuntu
- 연결
- Python
- BAEKJOON
- AWS
- r
- Java
- MongoDB
- 토네이도
- 연동
- API
- 알고리즘
- 설치
- r script
- Judge
- Tornado
- 저지
- 프레임워크
- 백준
- 오픈한글
Archives
- Today
- Total
맛동산
batch 본문
배열을 하나씩 던져주는것보다 묶음으로 던져주는게 순수 CPU 가용량이 좋다
# coding: utf-8 import sys, os sys.path.append(os.pardir) # 부모 디렉터리의 파일을 가져올 수 있도록 import numpy as np import pickle from dataset.mnist import load_mnist from common.functions import sigmoid, softmax def get_data(): (x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, flatten=True, one_hot_label=False) return x_test, t_test def init_network(): with open("sample_weight.pkl", 'rb') as f: network = pickle.load(f) return network def predict(network, x): w1, w2, w3 = network['W1'], network['W2'], network['W3'] b1, b2, b3 = network['b1'], network['b2'], network['b3'] a1 = np.dot(x, w1) + b1 z1 = sigmoid(a1) a2 = np.dot(z1, w2) + b2 z2 = sigmoid(a2) a3 = np.dot(z2, w3) + b3 y = softmax(a3) return y x, t = get_data() network = init_network() batch_size = 100 # 배치 크기 accuracy_cnt = 0 for i in range(0, len(x), batch_size): x_batch = x[i:i+batch_size] y_batch = predict(network, x_batch) p = np.argmax(y_batch, axis=1) accuracy_cnt += np.sum(p == t[i:i+batch_size]) print("Accuracy:" + str(float(accuracy_cnt) / len(x)))
'파이썬 > 딥러닝 구현' 카테고리의 다른 글
MNIST 파라미터 (0) | 2017.06.03 |
---|---|
평균 제곱 오차, 교차 엔트로피 오차 함수 구현 (0) | 2017.06.03 |
정규화 (0) | 2017.05.29 |
np.max vs np.argmax (0) | 2017.05.29 |
Softmax 함수 구현 (0) | 2017.05.22 |
Comments