SKIL/工作流程/笔记本

笔记本

笔记本对编写代码、使用深度学习库和进行实验很有用。有几个关键特性与skil直接相关,允许你保存模型、评估结果等。笔记本是工作间的专有产品,与实验概念有直接关系。
Apache Zeppelin是笔记本的后端,主要由spark解释器(Spark Interpreter)提供支持。

阅读以下内容了解有关Zeppelin和Spark的更多信息:

 

创建笔记本


创建并打开“工作间”和“实验”后,将自动生成一个笔记本并将其附加到该实验上。没有实验,笔记本就不能独立存在。要了解更多关于实验的信息,请参见进行实验。

可以在“实验视图”屏幕的“笔记本”选项卡中访问和编辑笔记本。此选项卡是Zeppelin集成笔记本的框架。

 

基本概念


笔记本是动态解释的,并不像编译的代码那样工作。每个笔记本都由代码单元组成,每个新单元默认使用Spark解释器。


在单元格中编写了一个小程序后,键入shift+enter来评估该单元格并运行代码。代码将提交给解释器,输出将直接显示在下面。当解释器运行时,单元格上方将出现一个进度条。


如果出现错误,单元格的状态将从正在RUNNING更改为ERROR,错误将直接显示在代码下方。


如果要动态加载依赖项,可以在笔记本顶部放置%dep解释器块。有关更多信息,请参见ApacheZeppelin网站上的“动态依赖加载”。

 

SKILContext

在笔记本中提供专门的类,允许你在程序中直接使用skil。SkilContext类允许你直接将模型添加到存储中,查看当前实验ID,并为实验执行其他功能。
为了使用skil上下文,必须正确实例化类:

%pyspark

import skil

skilContext = skil.SkilContext(sc)
client = skilContext.client

查看skil上下文中所有可用功能的。下面是对实验有用的函数的常见列表:

函数 描述
experimentId 获取此笔记本的实验ID。
saveModel 将权重保存到Skil的存储机制。
addModelToExperiment 将模型添加到此笔记本的实验存储机制中。
addEvaluationToModel 将评估数据保存到模型中。对从维持测试集保存结果有用。
batchInference 使用modelId在execResource上启动本地Spark批量推理作业,使用KeyedDatasetProvider类提供数据并将结果存储在outputPath中。
renderBufferedImage 将BufferedImage递交到<img>标记。

可用的编程语言

如果要更改默认情况下使用的语言或解释器,请在键入代码之前在单元格顶部使用以下绑定之一:

绑定 解释器 语言
%spark Spark解释器 Scala
%pyspark Spark解释器 Python
%sql Spark解释器 SQL

默认情况下使用%spark绑定。你可以在笔记本设置中更改此设置,方法是单击右上角的齿轮图标并将首选的解释程序移到列表顶部。完成后请记住单击“保存”。

 

调度笔记本


如果你的工作流程需要定期更新,例如在线学习,则可以在笔记本中启用计划。这可能涉及到在预定的笔记本中使用DataVec从Oracle数据库中获取数据并将其以numpy格式保存到磁盘。


创建笔记本并对其进行测试以确认所有单元格正确运行后,可以使用工具栏中的“计时器”图标启用计划:

Cron 表达式用于定义执行间隔。例如:

表达式 描述
0 0/5 * * * ? 每五分钟
0 0 0/6 * * ? 每6小时
0 0 0 * * ? 每天

在大多数情况下,以管理员用户身份运行笔记本就足够了。如果你的笔记本运行间隔超过6小时,我们建议你在每次执行时重新启动解释器。重新启动解释器时,请记住正确地重新加载任何动态依赖项。

猜你喜欢

转载自blog.csdn.net/bewithme/article/details/89301700