Можно ли тренировать модель на GPU, а затем прогнозировать на CPU - PullRequest
0 голосов
/ 20 марта 2019

Я хочу тренировать свою модель на устройствах с графическим процессором.Мне интересно, смогут ли клиенты использовать его через ЦП?

1 Ответ

1 голос
/ 20 марта 2019

Да, вы выполняете тяжелую работу по обучению на графическом процессоре, сохраняете веса, а затем ваш процессор будет выполнять только умножение матриц для прогнозов.

В Tensorflow и Keras вы можете тренировать свою модель и сохранять веса нейронной сети:

Tensorflow:

# ON GPU
with tf.Session() as sess:
  sess.run(init)
  save_path = saver.save(sess, "/tmp/saved_model.ckpt")

# ON CPU
with tf.Session() as sess:
    saver.restore(sess, "/tmp/saved_model.ckpt")

Keras:

model.save_weights('your_model_weights.h5')
model.load_weights('your_model_weights.h5')

С помощью алгоритмов sklearn вы можете сохранять веса следующим образом:

model=XGBClassifier(max_depth=100, learning_rate=0.7, n_estimators=10, objective='binary:logistic',booster='gbtree',n_jobs=16,eval_metric="error",eval_set=eval_set, verbose=True)
clf=model.fit(x_train,y_train)
from sklearn.externals import joblib
joblib.dump(clf, '/path/your_model.joblib')

model = joblib.load('/path/your_model.joblib')
model.predict(X_train)
...