DNN с разными результатами на разных компьютерах - PullRequest
0 голосов
/ 24 октября 2018

Я тренирую DNN для классификации фраз.Когда я тренирую его на своем ПК (процессор Intel® Core ™ i7-6500U @ 2,50 ГГц × 4 и GeForce 930M / PCIe / SSE2), он дает хорошие результаты (95,5% правильности).Но когда я пытаюсь запустить и обучить его в контейнере Docker, он получает разные результаты каждый раз, когда я обучаю сеть.

Модель выглядит следующим образом

training = np.array(training)

# create train and test lists
train_x = list(training[:,0])
train_y = list(training[:,1])

#tf.reset_default_graph()
tflearn.init_graph(seed=0, gpu_memory_fraction=1)

# Build fully connected neural network
net = tflearn.input_data(shape=[None, len(train_x[0])])
net = tflearn.fully_connected(net, 48)
net = tflearn.fully_connected(net, 48)
net = tflearn.fully_connected(net, len(train_y[0]), activation='softmax')
net = tflearn.regression(net, learning_rate=0.001, loss='categorical_crossentropy')


# Define model and setup tensorboard
__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))


model = tflearn.DNN(net, tensorboard_dir='tflearn_logs', tensorboard_verbose=3)
model.fit(train_x, train_y, n_epoch=200, batch_size=3, show_metric=True)
model.save('model-MyNet.tflearn')
model.load(os.path.join(__location__,'model-MyNet.tflearn'))


# save all of our data structures
import pickle
pickle.dump( {'words':words, 'classes':classes, 'train_x':train_x, 'train_y':train_y}, open( "training_data-MyNet", "wb" ) )
...