如何解决GPU使用率低的问题

时间:2019-11-13 12:30:52

标签: tensorflow keras

当前,我正在使用GPU训练模型。我发现nvidia-smi命令的GPU使用率低于10%的问题。 定义make_model:

def make_model(dense_layer_sizes, dim):
    K.clear_session()
    model = Sequential()
    for layer_size in dense_layer_sizes:
        model.add(Dense(layer_size, activation='relu', input_dim=dim))
    model.add(Dense(1, activation='sigmoid'))    
    model = multi_gpu_model(model, gpus=2)
    model.compile(loss='binary_crossentropy',
                  optimizer='adam',
                  metrics=['accuracy'])
    return model

培训模式:

dense_size_candidates = [[64], [64, 64], [64, 64, 64], [128], [128, 128], [128, 128, 128], [256], [256, 256], [256, 256, 256]]
my_classifier = KerasClassifier(make_model, batch_size=1024*10)
cvModel = GridSearchCV(my_classifier,
                         param_grid={'dense_layer_sizes': dense_size_candidates,
                                     'dim': [300],
                                     'epochs': [10]},
                         cv=5,
                         verbose=10,
                         scoring='roc_auc',
                         n_jobs=1)
cvModel.fit(train_vecs, y_train)

我尝试调整batch_size和learning_rate,但没有解决此问题。因此,我使用tensorflow Dataset API输入train_vecs。当我使用时:

dataset = tf.data.Dataset.from_tensor_slices(train_vecs)

问题是“无法创建内容大于2gb的张量原型”,train_vecs是巨大的数据集,是Gensim训练的语料向量,大于4g。此外,如何将TensorFlow的数据集API与Keras配合使用?

0 个答案:

没有答案