过去几天,我一直在尝试在谷歌H2O集群上运行一个保存的H2O模型。
我能够使用本指南部署并连接到集群http://docs.h2o.ai/h2o/latest-stable/h2o-docs/cloud-integration/google-compute.html
h2o.cluster().show_status()
H2O_cluster_uptime:4小时38分钟
H2O_cluster_timezone:Etc/UTC
H_2O_data_parsing_timezone:UTC
H2O_cluster_version_3.32.1.2
H_2O_cluster_vversion_age:12天
H2O_cluster_name:root
_2O_cluster_total_nodes:1
H2O_cluster_free_memory:6.220 Gb
H2O O_cluster_tatal_cores:2
H2 O_cluster_allowed_cores:2
我将保存的模型上传到谷歌云存储,并使用云存储fuse将其融合到VM的文件夹
/tmp/gcsModels/
现在,每当我尝试使用.load_model:加载模型时
models_path = "/tmp/gcsModels/serverless/v1/"
pca_model = h2o.load_model(os.path.join(models_path, "cust_PCA_DEMO_v1"))
我遇到这个错误:
H2OResponseError: Server error water.exceptions.H2OIllegalArgumentException:
Error: Illegal argument: dir of function: importModel: water.api.FSIOException: FS IO Failure:
accessed path : file:/tmp/gcsModels/serverless/v1/cust_PCA_DEMO_v1 msg: File not found
Request: POST /99/Models.bin/
data: {'dir': '/tmp/gcsModels/serverless/v1/cust_PCA_DEMO_v1'}
检查后,模型文件都在/tmp/gcsModels文件夹中
ls /tmp/gcsModels/serverless/v1/
cust_GB_DEMO_LIKELIHOD_v2
cust_BM_DEMO_LikeliHOD_v2_cv5
cust_GB_M_DEMO_LOGAMOUNT_v1_cv5>br/>cust_PCA_DEMO_v1
我不知道自己做错了什么。任何想法都将不胜感激。
您的Python客户端可能托管在与H2O服务器不同的位置。当您连接到h2o.connect(url="https://[external ip]:54321", auth=(username, password))
时,您正在指定一个外部IP地址。因此,您在ls
中看到的内容将位于不同的位置。
您的错误消息显示在Python运行的文件系统上找不到该文件:
accessed path : file:/tmp/gcsModels/serverless/v1/cust_PCA_DEMO_v1 msg: File not found.
尝试使用gs://
指定文件位置将在Google存储上。我不知道你的确切路径是什么,但我希望它是这样的:
h2o.load_model("gs://<BUCKETNAME>/gcsModels/serverless/v1/cust_PCA_DEMO_v1")