使用R中的h2o包保存模型时如何指定文件名

How to specify the file name when saving the model using h2o package from R

我正在尝试使用以下函数保存模型构建:h2o.saveModel(),根据 H2O user manual for R 第 159 页的函数描述,参数仅考虑 path。我查看了其他类似的函数,例如:h2o.saveModelDetails() 但它使用相同的参数。请告知是否还有其他方法可以指定模型名称。

模型文件的名称将由模型的ID决定。因此,如果您在训练模型时指定 model_id,则可以对其进行自定义。目前无法在训练后更改模型的 ID。

文件保存后可以重命名:

h2o.saveModel(object = fit, path = path.value, force = TRUE) # force overwriting
name <- file.path(path.value, fileName) # destination file name at the same folder location
file.rename(file.path(path.value, fit@model_id), name)

这里有一个可行的方法:

output_dir <-getwd()
DRF_MO <- h2o.saveModel(object=aml, path=output_dir, force=TRUE)
DRF_MO <- file.path(output_dir, aml@algorithm) 
file.rename(file.path(output_dir, aml@model_id), DRF_MO)

我认为更好的解决方法是每次保存模型时生成一个唯一的文件夹。载入模型时路径下永远只有一个模型文件

saved_model = os.path.join('UNIQUE_MODEL_PATH', os.listdir('UNIQUE_MODEL_PATH')[0])
loaded_model = h2o.load_model(saved_model)

在 python 中:

model_path = h2o.save_model(model=model, path="mymodel1", force=True)
path = os.path.dirname(os.path.abspath(model_path))
os.rename(model_path, os.path.join(path,f'h2o_new_name'))