首页 文章

在keras中使用GPU进行多处理

提问于
浏览
3

我需要并行计算多个深度模型并平均其结果 . 用 GPU 0 完成计算后,我的工作永远运行 .

def model_train(self, params):
    from nn_arch import nn_models
    X, y, gpu_no = params
    print("GPU NO ", gpu_no)
    with tf.device('/gpu:' + str(gpu_no)):
        model1 = nn_models.lenet5()
        early_callback = CustomCallback()
        model1.fit(X, y, batch_size=256, validation_split=0.2, callbacks=[early_callback],
                   verbose=1,
                   epochs=1)
    return model1

我的主要方法如下 . In this case I have 2 GPUs

def main(self, X_train, y_train, X_test, y_test):
    random_buckets = self.get_random()
    X = [X_train[random_buckets[k]] for k in sorted(random_buckets)]
    y = [y_train[random_buckets[j]] for j in sorted(random_buckets)]

    params = zip(X, y, [0, 1])
    models = pool1.map(self.model_train, params)

如何与Keras并行训练多个模型 . (数据并行方法)

2 回答

相关问题