概要
windowsでTensorFlowやってみた。
生tensorflowは、つらいので、1.2にして、Highlevel apiやってみた。
偶数分類やってみた。
環境
windows 7 sp1 64bit
anaconda3
tensorflow1.2
サンプルコード
import numpy as np
from sklearn import cross_validation
from tensorflow.contrib.keras.python.keras.models import Sequential
from tensorflow.contrib.keras.python.keras.layers import Dense, Activation
def binary_encode(i):
return np.array([i >> d & 1 for d in range(8)])
def even_odd_encode(i):
if i % 2 == 0:
return np.array([1, 0])
else:
return np.array([0, 1])
trX = np.array([binary_encode(i) for i in range(1, 256)])
trY = np.array([even_odd_encode(i) for i in range(1, 256)])
x_train, x_test, y_train, y_test = cross_validation.train_test_split(trX, trY, test_size = 0.2, random_state = 42)
model = Sequential()
model.add(Dense(10, input_dim = 8))
model.add(Activation('relu'))
model.add(Dense(2, input_dim = 10))
model.add(Activation('softmax'))
model.compile(optimizer = 'SGD', loss = 'categorical_crossentropy', metrics = ['accuracy'])
model.fit(x_train, y_train, epochs = 25, batch_size = 4)
score = model.evaluate(x_test, y_test, verbose = 0)
print ('\nTest score : {:>.4f}'.format(score[0]))
print ('Test accuracy: {:>.4f}'.format(score[1]))