SKIL/工作流程/可视化

2023-10-21 16:50
文章标签 流程 工作 可视化 skil

本文主要是介绍SKIL/工作流程/可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

可视化

有两种方法可以在SKIL中可视化数据。可视化对于解释结果和理解其他复杂数组很有用,并且通常需要通过T-SNE或UMAP等算法实现降维。

 

训练可视化
使用Deeplarming4J用户界面
如果你正在使用deeplearning4j,则可以在训练模型时可视化统计数据。SKIL预先打包了一个ui服务器,该服务器将通过将ui标志传递到skil start脚本来自动启动:

#如果没有设置SKIL_HOME和JAVA_HOME变量,请取消对以下行的注释
# export SKIL_HOME=/opt/skil
# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk# 首先进行授权
$SKIL_HOME/sbin/skil login --userId admin --password admin # 你可能有不同的用户名和密码,请相应地替换它们。# 启动
$SKIL_HOME/sbin/skil ui

 

对于docker,你需要转发端口9002以访问UI。

# 从Docker启动,确保你映射了端口9002
docker run --rm -it -p 9008:9008 -p 8080:8080 -p 9002:9002 skymindops/skil-ce bash /start-skil.sh

稍后,你可以在笔记本中添加一个%sh单元,专门启动UI服务器:

%sh#如果没有设置SKIL_HOME和JAVA_HOME变量,请取消对以下行的注释
# export SKIL_HOME=/opt/skil
# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk# 首先进行授权
$SKIL_HOME/sbin/skil login --userId admin --password admin # 你可能有不同的用户名和密码,请相应地替换它们。# 启动
$SKIL_HOME/sbin/skil ui

skil ui命令的默认参数及其详细信息如下:

参数默认值详情
uiPort9002用于用户界面服务器的端口
enableRemoteTrue是否启用远程。它控制是否允许远程连接。

 

上面的命令$SKIL_HOME/sbin/skil ui将在端口9002启动一个用户界面服务器,默认情况下允许远程连接。你可以进一步提供--uiPort和--enableMemote参数,以在其他端口启动ui服务器,或者如果你想控制到该服务器的远程连接。

 

$SKIL_HOME/sbin/skil ui --uiPort 9010 --enableRemote False # 在端口9010启动UI服务器,禁用远程连接

 

Visualizing the DL4J Network

You will need to route your StatsListener to the UI port (default 9002). You can view the demo for DL4J UI with the default notebook that is created when you create an "Experiment" in SKIL and uncomment the following lines in the 4th paragraph.

可视化DL4J网络
你需要将StatsListener路由到UI端口(默认9002)。你可以使用在skil中创建“实验”时创建的默认笔记本来查看DL4J UI的演示,并在第4段中取消对以下行的注释。

//val remoteUIRouter = new RemoteUIStatsStorageRouter("http://localhost:9002")
//model.setListeners(new StatsListener(remoteUIRouter))

在取消对上述行的注释后,运行笔记本的前四段,然后在UI端口上可视化网络(此处,默认情况下,它设置为笔记本中的端口9002),这看起来类似于下面的图像。

Visualizing the model in DL4J UI.

在DL4J UI中可视化模型。
有关更多信息和用法,请参阅Deeplarning4j UI文档。
Tensorboard中TensorFlow模型的可视化
SKIL预先打包了TensorBoard,允许你可视化TensorFlow模型的训练。在笔记本中进行训练时,你可以以标准方式使用Tensorboard:

# bare metal installation
tensorboard --logdir=path/to/log-directory# when using Docker, manually start a TensorBoard instance
docker exec -it skil_container /bin/bash
tensorboard --logdir=path/to/log-directory

有关完整用法和示例,请参阅Tensorboard文档。

 

解释器功能
由于笔记本由ApacheZeppelin提供,许多内置可视化功能可用于结构化和非结构化数据。这是一个提供演示的可视化效果的示例笔记本。
使用SQL可以实现最简单的可视化。如果在笔记本中创建一个%sql单元,并对Spark RDD或任何其他缓存数据执行SQL查询,则可以很容易地以原始表格格式查看输出。

 

%sqlselect numPositions, count(1) value
from stats 
where numPositions < 65
group by numPositions
order by numPositions

 

如果你喜欢手动使用内置可视化功能,还可以通过使输出以%table 开头并用\t 分隔每行数据来打印表。

%sparkprintln("%table\nx\ty")
(1 to 340).map(i => i.toDouble / 50).map(x => (x, Math.sin(x))).foreach{case (x,y) => println(x + "\t" + y)}

 

数据摘要

除了Zeppelin支持的内置功能外,SKIL还允许你对输入数据进行DataVec分析,并计算数据集的统计信息。你可以以内联方式呈现结果,也可以查看端口9508。如果使用docker,请记住在运行你的SKIL容器之前添加-p 9508:9508。

 

%sparkimport org.datavec.spark.transform.AnalyzeSpark
import org.datavec.api.transform.ui.HtmlAnalysis
import java.io.Fileval dataAnalysis = AnalyzeSpark.analyze(tp.getFinalSchema(), processedData, 10)// 提交到文件
HtmlAnalysis.createHtmlAnalysisFile(dataAnalysis, new File("/opt/skil/plugins/files/sf-analysis.html"))// 提交内联
print("%html <iframe src=\"http://localhost:9508/files/sf-analysis.html\"></iframe>")

 

结果将像一个常规的HTML页面,其中包含列和数据集统计信息。

这篇关于SKIL/工作流程/可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255670

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

一个Java的main方法在JVM中的执行流程示例详解

《一个Java的main方法在JVM中的执行流程示例详解》main方法是Java程序的入口点,程序从这里开始执行,:本文主要介绍一个Java的main方法在JVM中执行流程的相关资料,文中通过代码... 目录第一阶段:加载 (Loading)第二阶段:链接 (Linking)第三阶段:初始化 (Initia

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired