对于训练速度,能够训练带有GPU的H2O模型,获取模型文件,然后在没有GPU的机器上进行预测会很好。
理论上似乎应该是可能的,但是对于H2O版本3.13.0.341,除了XGBoost模型之外似乎没有发生。
当我运行gpustat -cup
时,我可以在训练H2O的XGBoost模型时看到GPU启动。 DL,DRF,GLM或GBM不会发生这种情况。
如果浮点大小(16,32,64)的差异可能导致一些不一致,更不用说由于多处理器建模引起的变幻莫测,我不会感到惊讶,但我想我可以忍受。
(这与我的问题有关,但现在我更了解环境,我可以看到GPU不会一直使用。)
答案 0 :(得分:1)
新的XGBoost integration in H2O是目前H2O(正确)中唯一支持GPU的算法。因此,您可以在GPU上训练XGBoost模型并在CPU上进行评分,但对于其他H2O algorithms则不然。
还有H2O Deep Water项目,该项目提供H2O与三个第三方深度学习后端(MXNet,Caffe和TensorFlow)之间的集成,所有后端都支持GPU。因此,您可以使用GPU训练这些模型并在CPU上进行评分。您可以在上面的Deep Water链接下载H2O Deep Water jar文件(或R包或Python模块),您可以在Deep Water GitHub repo README中找到更多信息。
答案 1 :(得分:0)
是的,您需要在GPU上进行繁重的训练,节省权重,然后您的CPU只会对预测进行矩阵乘法。
在Keras中,您可以训练模型并保存神经网络权重:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:x="http://www.w3.org/1999/XSL/TransformAlias"
>
<xsl:namespace-alias stylesheet-prefix="x" result-prefix="xsl"/>