Keras с PlaidML, использующим только 50% графического процессора - PullRequest
0 голосов
/ 29 мая 2020

Я установил PlaidML, следуя инструкциям на веб-странице моего Ma c. Я без проблем запускал разные тесты, например, plaidbench --batch-size 16 keras --train mobilenet, и все прошло нормально.

Но, когда я попробовал его на этой модели:

import plaidml.keras
import os
plaidml.keras.install_backend()
os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"
import keras
from keras import layers

model = keras.Sequential()
model.add(layers.Dense(64, 
                      activation="relu",
                      input_shape=(trainX.shape[1],)
                      ))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(1))

model.compile(optimizer='rmsprop', 
             loss='mse',
             metrics=['mae'])

early_stopping = keras.callbacks.EarlyStopping(monitor='loss',
                                              patience=4,
                                              verbose=0,
                                              mode='auto')

results = model.fit(trainX, 
                   trainY, 
                   epochs=1,
                   batch_size=2,
                   callbacks=[early_stopping])

, я обнаружил, что он работает довольно медленно, примерно в 5 раз медленнее, чем на CPU. Когда я проверил, я увидел, что он использует только 50% графического процессора, а не 100%, как в тестах. Мне что-то здесь не хватает, например, мне нужно построить модель по-другому, или она работает только на сверточных моделях?

...