在 Watson 机器学习上部署使用自定义损失函数训练的模型

Deploy model trained with custom loss function on Watson machine learning

我已经使用自定义损失函数在 Watson Machine Learning 上训练了一个模型,但是当我尝试部署它时,我收到一条错误消息:

Invalid Input data: Unknow loss function:loss

我知道通常在 Keras 中您可以使用以下方法加载具有自定义损失函数的模型:

load_model('model.h5', custom_object={'loss': loss_function}) 

我现在正在寻找一种方法来在我的部署中添加损失函数的定义。

对于 Custom Compnents in TF Models WML

,您应该能够遵循本文档中描述的方法

https://dataplatform.cloud.ibm.com/docs/content/analyze-data/ml-custom_libs_tensorflow.html?audience=wdp&context=analytics

具体要求详见这里:https://dataplatform.cloud.ibm.com/docs/content/analyze-data/ml-custom_libs_overview.html#requirements

主要思想是您需要为部署指定一个运行时其他感谢默认运行时并以指定的方式打包您的自定义组件。希望这可以帮助。

官方支持回复:

WML 当前不支持 Keras 的自定义函数和图层。你可以参考这个dock中支持的内容:https://dataplatform.cloud.ibm.com/docs/content/analyze-data/pm_service_supported_frameworks.html?audience=wdp&context=analytics关于损失函数的部分似乎没有在这里提到。我们将更新文档。

日期:2019-01-28