在IBM Watson中部署笔记本

我在IBM Watson Studio中有一个用于时间序列预测的Python笔记本。

它接受两个输入数据

  1. MAX
  2. MIN

并返回两个数据列表,包含MAXMIN的未来10步预测。

我想让它能够被外部应用程序使用。我已经搜索了像API创建这样的解决方案,但没有找到任何来源。有人能建议我正确的做法或有用的资源吗?


回答:

经过两天的研究和尝试,我找到了自己的问题的解决方案。没有人给我任何解决方案,所以我想将它发布在这里供将来参考。

在这里,我添加了我的实际经验,所以这可能是一个较长的答案。

1. 为什么选择IBM笔记本?

如果我们需要更多的定制化,我们会选择笔记本而不是现有的模型。我们将获得大多数内置模型中不可用的模型。

2. 有哪些方法可以做到这一点?

根据我的调查,我发现了两种方法可以做到这一点

  • 将其部署为Python函数(对我有用
  • 借助Jupyter笔记本、IBM Cloud和Github部署它。请查看这个教程

3. 将其部署为Python函数 [来源]

  • 将所有功能封装在一个函数中(步骤1)。例如,它接受输入并返回输出。

  • 每次调用时,代码中的变量或数据结构将丢失数据。因此,请在您的Python函数中避免使用这些项目,并在您的应用程序中管理它们。

  • 另一个重要点是,如果你想导入库,你必须将其作为主函数内的子进程包含在内。因为测试环境和部署环境的差异。你可以通过简单地添加以下内容来实现

  • Python函数的示例格式

    def my_deployable_function():   import subprocess   subprocess.check_output( "pip install ipython--user",stderr=subprocess.STDOUT,shell=True )    def score( payload ):       num1=int(payload["values"][0])       num2=int(payload["values"][1])         ans=num1+num2    return ans

    *这里,payload是你从API传递给Python函数的数据,ans是输出

  • 测试函数

    function_result = my_deployable_function()( { "values" : [ 100,200] } )print( function_result )

    *输入payload是一个字典。根据你的需要,你可以添加元素,但要确保你不改变结构,即,所有内容都应该在一个根元素下,这里是values

  • 输出

    300
  • 按照(步骤2)在来源中进行操作,你需要凭据,如果你对现有凭据有任何问题,那么创建一个新的,因为旧的可能已经过期了。

  • 如果你的计划是Lite,你无法进行超过5次部署(步骤3)。所以要谨慎。如果超过了,要么通过删除现有服务创建一个新服务,要么删除旧的部署。
  • 如果你在创建新服务,请在项目设置中检查它是否与你的项目相关联。否则,凭据只能在IBM Watson中工作,不能通过REST API(步骤4)工作。

遵循官方文档并保持这些说明以节省你的时间。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注