Я установил 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%, как в тестах. Мне что-то здесь не хватает, например, мне нужно построить модель по-другому, или она работает только на сверточных моделях?