在多个GPU上并行训练,无法提升GPU利用率

时间:2020-10-22 06:35:05

标签: tensorflow keras deep-learning gpu tensorflow-datasets

我正在使用Tensorflow输入数据管道从一个较大的csv文件读取数据,并使用MirroredStrategy在同一个集群的多个GPU上训练神经网络。我的问题是,如您在此处看到的那样,我不能使用超过20%的GPU:

enter image description here

这是我的示例代码:

    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25,shuffle=True,  random_state=42)
    Train=tensorflow.data.Dataset.from_tensor_slices((x_train,y_train))
    Train = Train.batch(1200,drop_remainder=False).cache()
    Train = Train.prefetch(tensorflow.data.experimental.AUTOTUNE)
    Test=tensorflow.data.Dataset.from_tensor_slices((x_test,y_test))
    Test = Test.batch(1200,drop_remainder=False).cache()
    Test = Test.prefetch(tensorflow.data.experimental.AUTOTUNE)
    with strategy.scope():
        model.compile(loss='mean_squared_error', 
        model.fit(Train,validation_data=Test,verbose=1,epochs=100)

有人知道我如何增加GPU利用率吗?我什至尝试将批次大小增加到1200,但这并没有太大帮助(我也不想过多地增加批次大小,因为我可能会收敛到具有较大批次大小的局部最小值!)

0 个答案:

没有答案