Scikit learn 能否将自定义sklearn模型上载到gcloud ml引擎?

Scikit learn 能否将自定义sklearn模型上载到gcloud ml引擎?,scikit-learn,pipeline,gcloud,google-cloud-ml,Scikit Learn,Pipeline,Gcloud,Google Cloud Ml,我已经尝试了新的功能,按照以下步骤将sklearn模型部署到ml引擎。我已经为sklearn估计器GaussianMixture创建了一个包装器,以便修改预测函数,使其输出概率输出(如样本_分数),而不是默认的类预测 GMMWrapper.py class GMMWrapper(GaussianMixture): def predict(self, X): return self.score_samples(X) 我创建管道并以标准方式保存: gmm = GMMWrap

我已经尝试了新的功能,按照以下步骤将sklearn模型部署到ml引擎。我已经为sklearn估计器GaussianMixture创建了一个包装器,以便修改预测函数,使其输出概率输出(如样本_分数),而不是默认的类预测

GMMWrapper.py

class GMMWrapper(GaussianMixture):
    def predict(self, X):
        return self.score_samples(X)
我创建管道并以标准方式保存:

gmm = GMMWrapper()
pipegmm = Pipeline([('gmm', gmm)])
pipegmm.fit(data)
with tf.gfile.Open(model_output_path, 'wb') as model_file:
    joblib.dump(pipegmm, model_output_path + '.joblib')
但是,当使用
gcloud beta-ml引擎版本创建部署到gcloud时,它当然找不到模块GMMWrapper

ERROR: (gcloud.beta.ml-engine.versions.create) Bad model detected with
error:  "Failed to load model: Could not load the model: 
/tmp/model/0001/model.joblib. No module named 'GMMWrapper'.
我已尝试将其包含在部署源文件夹中,该文件夹将上载到临时存储桶

DEPLOYMENT_SOURCE="/folder-containing-model-and-GMMWrapper"
MODEL_NAME="GMMs"
FRAMEWORK="SCIKIT_LEARN"
STAGING_BUCKET="gs://sklearn-models"

gcloud beta ml-engine versions create v1 \
    --model $MODEL_NAME --origin $DEPLOYMENT_SOURCE \
    --framework $FRAMEWORK --staging-bucket $STAGING_BUCKET \
    --runtime-version=1.5 --python-version=3.5
但这会返回相同的错误。我需要以某种方式通知gcloud在哪里查找模块。我怀疑这是做不到的,但我想如果有办法的话我会问的


(或者,如果有一种方法可以更改在管道上调用predict时调用的函数,也可以解决我的问题。)

当前不支持此功能。我们一直在寻找改进产品的方法,并将考虑这一建议功能。

我们目前正在寻找支持您的用例的方法。如果你能联系cloudml,我们会很高兴的-feedback@google.com所以我们可以更好地理解你的用例。当然,我应该在主题行中添加任何特定的内容,以便你可以找到它?不。我们监控所有此类电子邮件:)Hi@Rhartel80,是否有关于此功能请求的任何更新?这将在几周内作为有限预览提供。请发送电子邮件至cloudml-feedback@google.com如果你有兴趣加入。