能否在GPU上训练模型,然后在CPU上进行预测?

3
我希望使用GPU设备来训练自定义模型。 我在想,客户是否可以通过CPU使用它?

3
可以在GPU上训练模型,然后在CPU上进行推理,反之亦然。但是,在不同的设备上进行训练和推理时,需要注意数据类型和精度可能会有所不同,这可能需要进行调整以确保结果的一致性。 - William D. Irons
我相信在模型训练完成后,它只是一组条件语句 - 是的。 - yossico
1个回答

5

是的,你需要在GPU上完成训练的重活,保存权重后,你的CPU只需要进行矩阵乘法来进行预测。

在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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接