(数据科学学习手札95)elyra——jupyter lab平台最强插件集
本文示例文件已上传至我的
Github
仓库https://github.com/CNFeffery/DataScienceStudyNotes
1 简介
jupyter lab
是我最喜欢的编辑器,在过往的文章中也给大家介绍过很多相关资源和实用插件,但本文要给大家介绍的jupyter lab
插件elyra
,绝对是我使用过的最强大的jupyter lab
插件没有之一,因为它的核心功能就是帮助我们解决数据分析工作中非常重要的问题——搭建工作流。
2 利用elyra搭建工作流
在安装elyra
插件集之前,请确保你的jupyter lab
版本在2.0
及以上,并且已经安装好了nodejs
也就是所有jupyter lab
拓展插件都需要的依赖。
不像常规的jupyter lab
插件的安装方法,我们执行下列命令即可安装elyra
下集成的多个插件:
pip install --upgrade elyra && jupyter lab build
安装完之后,你的jupyter lab
操作界面外观会发生一些变化,我们先记住在安装elyra
之前我们的jupyter lab
界面长啥样(我使用的主题感兴趣的朋友可以通过jupyter labextension install jupyterlab-tailwind-theme
来安装):
而在安装完成重启jupyter lab
之后,除了左上角的jupyter
logo变化了之外,还新增了图中我用红框框选出来的地方:
接下来我们就来介绍如何利用elyra
交互式地搭建工作流。
elyra
赋予了我们通过交互的方式将若干个ipynb
文件组织成工作流的能力,为了方便演示,这里我们创建几个带有简单流程代码的ipynb
文件:
接着我们在Launcher页面点击Pipeline Editor
打开用来交互式编辑notebook流水线的界面:
直接将侧边栏中对应的step1.ipynb
文件拖拽进来:
点击流水线界面中ipynb
文件对应节点右侧的三个圆点,可以打开更多功能选项:
因为我们是本地环境,所以这里只需要在properties
下必填参数Runtime Image
中随便选一个就行:
保存之后,就完成了本地环境下单个节点的必要参数设置,同样的将其他ipynb
文件拖拽进来,各自配置好必要参数再如图13所示将各节点联结起来:
这样我们的流水线就搭建好了,是不是非常滴好玩~,接着点击左上角的运行按钮,输入流水线名称后即可开始运行我们的工作流:
工作流执行成功之后也会有提示:
如果工作流执行到某个节点发生程序错误,也会有非常人性化的提示:
对应出错的ipynb
错误代码块上方,elyra
也会帮我们创建记录错误信息的markdown
单元格:
最好用的是,配合魔术命令%store
,我们就可以跨notebook
传递全局变量,而不需要再往外写出先前节点的结果文件:
利用%store 变量名
将某个变量转化为跨kernel
的全局变量:
利用%store -r 变量名
将跨kernel
全局变量中的指定变量加载到当前kernel
中:
而除了搭建工作流这个核心功能外,elyra
还有很多其他的实用功能,感兴趣的朋友可以前往官方文档(https://elyra.readthedocs.io/en/latest/)自行阅读学习。
- 【Scikit-Learn 中文文档】协方差估计 / 经验协方差 / 收敛协方差 / 稀疏逆协方差 / Robust 协方差估计 - 无监督学习 - 用户指南 | ApacheCN
- 先搞懂这八大基础概念,再谈机器学习入门!
- 人工智能化的传感器技术
- 带有CSS3的动画3D条形图
- 有故事的微信小游戏“跳一跳”
- 机器学习敲门砖:任何人都能看懂的TensorFlow介绍
- 跟小编来体验一下微信小程序
- DeepVO:基于深度循环卷积神经网络的端到端视觉里程计
- 是人工智障还是蹭热度?我一定是抱走了假的二次元老婆
- 重庆日报:丹妮拉·鲁斯认为人工智能是人类的助手
- 深度学习系列(2):前向传播和后向传播算法
- 未来5年,什么样的人最抢手
- 腾讯AI Lab俞栋:AI的发展需要合作伙伴一起AI in ALL
- NLP+2vec︱认识多种多样的2vec向量化模型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Centos7.4 zabbix3.4.7源码安装的方法步骤
- CentOS7环境搭建python3以及与python2实现共存的方法
- centos7.0安装离线JDK1.8方法详解
- ubuntu中swap(虚拟内存)设置方法
- 详解Linux监控重要进程的实现方法
- CentOS环境下安装Redis3.0及phpredis扩展测试示例
- 使用Apache commons-cli包进行命令行参数解析的示例代码
- 详解如何在Ubuntu 16.04上增加Swap分区
- Mac本地文件上传到CentOS云服务器方法
- linux中把.c的文件编译成.so文件
- Ubuntu16.04 中 locate文件查找命令
- Ubuntu 16.04与Apache虚拟主机配置的步骤详解
- Linux删除目录下的文件的10种方法小结
- 利用Linux防火墙隔离本地欺骗地址的方法详解
- 视图在SQL中的作用是什么,它是怎样工作的?