使用CPU和GPU运行相同的代码会给我不同的RMSE分数。为什么?
我一遍又一遍地运行下面的代码,同时在特性工程和特性选择阶段做一些调整。
from catboost import CatBoostRegressor
model = CatBoostRegressor(iterations=1000, learning_rate=0.05, depth=5, random_seed=69);
df_ser_full.Model.fit(
X_train,
y_train,
use_best_model=True,
eval_set=(X_test, y_test),
plot=True,
silent=True
);过了一会儿,我厌倦了等待训练,于是我改用GPU而不是CPU,用下面的代码替换了第二行代码
model = CatBoostRegressor(iterations=1000, learning_rate=0.05, depth=5, task_type='GPU', random_seed=69);训练速度现在加快了大约5倍,但我注意到这个指标明显下降(测试集的RMSE从0.13955@CPU下降到0.14377@GPU)。GPU和CPU是通过相同的接口使用不同的随机数生成器,还是有其他我遗漏的东西?
我正在使用以下硬件
发布于 2019-05-16 16:59:29
有两件事可能影响结果:
因此,尝试将其设置为255,如果有帮助,请在这里写。
https://stackoverflow.com/questions/55608375
复制相似问题