python - 在 IBM Watson 中部署笔记本

标签 python machine-learning jupyter-notebook ibm-cloud ibm-watson

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

需要两个输入数据

  1. 最大
  2. 分钟

它返回两个数据列表,其中包含 MAXMIN 的 10 步预测。

我想让它可用于外部应用程序。我已经搜索了 API 创建之类的解决方案,但没有找到任何来源。任何人都可以建议我正确的方法或有用的资源吗?

最佳答案

现在通过我2天的研究和尝试,我得到了自己问题的解决方案。没有人给我任何解决方案,所以我认为它会张贴在这里以供将来引用。

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

<强>1。为什么选择 IBM Notebook?

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

<强>2。如何做到这一点?

根据我的查询,我找到了两种方法来做到这一点

  • 将其部署为 python 函数(对我有用)
  • 在 jupyter notebook、IBM Cloud 和 Github 的帮助下部署它 请参阅此 tutorial

<强>3。将其部署为 python 函数 [source]

  • 将您的所有功能封装在一个函数中(第 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是一个字典。根据您的需要,您可以添加元素,但要确保您没有更改结构,即,一切都应该在一个根元素下,这里是

  • 输出

    300
    
  • 按照 source 中的(第 2 步)操作您需要凭据,如果现有凭据有任何问题,请创建一个新凭据,因为旧凭据可能已过期。

  • 如果您的计划是 Lite,您将无法执行超过 5 次部署(第 3 步)。所以让它计数。如果超出,则通过删除现有服务或删除旧部署来创建新服务。
  • 如果您要创建新服务,请在项目设置中检查它是否与您的项目相关联。否则,凭据将只能在 IBM Watson 中使用,而不是通过 REST API(第 4 步)。

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

关于python - 在 IBM Watson 中部署笔记本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56006281/

相关文章:

python - 我可以让 Anaconda 导航器查看 pypi 上的包吗?

python - 可在 Python 中使用的最快 SVM 实现

python - 在 matplotlib 中更改 figsize

performance - Matlab 中的高效分类

machine-learning - 我可以在 GPU 上运行包含 seaborn 代码的 jupyter 笔记本吗?

python - 让 sage 与 ipython 一起工作

python - python的数据探索IDE(不包括spyder)

python - 查找 NumPy 数组中出现频率最高的数字

python - python内置@property如何接收重载的setter函数?

Python kivy : How can I fix "TypeError: object.__init__() takes no parameters"?