mlrun.code_to_function和mlrun.new_project有什么区别



mlrun.code_to_functionmlrun.new_project之间有什么区别?例如,我们可以使用code_to_function:部署一个函数

a_fn = mlrun.code_to_function(name='my_function', 
handler='handler', 
kind='nuclio', 
image='mlrun/mlrun')
a_fn.deploy()

或者我们可以用mlrun.project.set_function部署一个功能

project = mlrun.new_project(project_name_base,
context=project_path,                           
user_project=True)                                                    
fn = project.set_function("my_function.ipynb", 
name='my_function')

在哪种情况下,我应该使用code_to_functionset_function

MLRun的核心概念之一是用一段代码创建一个无服务器函数。您可以指定Python文件、入口点函数、Docker映像、K8s资源等等。code_to_function就是这样实现的。有关详细信息,请参阅文档中的此页。

# file.py
def handler(context):
context.logger.info("Hello World")
# deploy.py
from mlrun import code_to_function, new_project
project = new_project(name="my-project")
fn = code_to_function(
name="my-function",
project="my-project",
filename="file.py",
kind="job",
handler="handler",
image="mlrun/mlrun"
)
fn.run()

您可以自己创建和运行这些函数,也可以使用类似KubeFlow的东西来编排具有多个函数的管道。set_project是该工作流程的一部分。您可以使用通过code_to_function创建的函数,也可以只指定set_project中的一些参数。然后,您将能够将此函数用作更大的KubeFlow管道的一部分。有关详细信息,请参阅文档中的此页。

project.set_function(fn)
project.set_function(
name="my-function",
func="file.py",
kind="job",
image="mlrun/mlrun"
)

相关内容

  • 没有找到相关文章

最新更新