動作環境
- Ubuntu16.04.2 desktop amd64
- Nvidia GeForce GTX 680 を8枚
ではまず
nvida-smiの出力はこのような結果
nvidiaドライバは動作している。
次に、以下のような簡単なKeras-tensorflowコードを用意して、
#!/usr/bin/env python3
import numpy as np
import tensorflow.contrib.keras as keras
from tensorflow.contrib.keras.python.keras.models import Sequential
from tensorflow.contrib.keras.python.keras.layers import Dense, Activation, Dropout
from tensorflow.contrib.keras.python.keras.optimizers import SGD
from tensorflow.contrib.keras.python.keras import backend as K
if __name__ == '__main__':
x_train = np.random.random((1000, 20))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=20))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
model.fit(x_train, y_train,
epochs=1000,
batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
K.clear_session()
そして、実行してみる。
8GPUを認識まではしている。
さてさて、次回のお楽しみ