Java部署客户端

SKIL部署客户端是用于处理SKIL客户端请求的Java API。与原始JSON请求相比,它直观且易于使用。它提供了构建请求对象的构建器模式。响应有自己的类对象。

添加到项目
客户端在Skymind的Nexus仓库上作为依赖可用。目前,存储库受密码保护,你需要联系我们以获取访问权限。
连接到存储库后,将以下内容添加到pom.xml中:

<dependency><groupId>io.skymind</groupId><artifactId>skil-daemon-client</artifactId><version>LATEST</version>
</dependency>

以下导入将使你所需的大多数实用程序进入作用域:

import io.skymind.auth.rest.LoginResponse;
import io.skymind.deployment.client.SKILDeploymentClient;
import io.skymind.deployment.model.ModelEntity;
import io.skymind.deployment.rest.CreateDeploymentRequest;
import io.skymind.deployment.rest.DeploymentResponse;
import io.skymind.deployment.rest.ImportModelRequest;
import io.skymind.deployment.rest.UpdateModelStateRequest;
import io.skymind.skil.client.errors.ClientException;import java.text.MessageFormat;
import java.util.List;

配置
为了将Java客户端连接到SKIL,需要将一个路径字符串传递给SKILDeploymentClient类的构造器,指定运行的SKIL服务器的主机和端口为:

String host = "localhost";
String port = "9008";
String path = MessageFormat.format("http://{0}:{1}", host, port);SKILDeploymentClient skilDeploymentClient = new SKILDeploymentClient(path);

并非所有请求都需要授权,但要返回预测,需要在请求头中传递授权令牌。
授权令牌是一个JWT令牌,它以加密的形式存储你作为用户的凭据,并让服务器知道你是一个被授权执行请求操作的实体。
使用以下代码登录并从SKIL服务器接收授权令牌:

String userId = "admin";
String password = "admin";/* Getting authorized in the deployment client */
// The following code will authenticate you as a user in the SKIL Server
LoginResponse loginResponse = skilDeploymentClient.login(userId, password);

你将收到一个带有授权令牌的LoginResponse对象。要读取授权令牌,请执行以下操作:

// To get the token...
print(MessageFormat.format("Authorization Token: {0}", loginResponse.getToken()));

基本用法

以下是管理部署的常用方法:

方法 返回类型 描述
getDeployments() List<DeploymentResponse> 列出所有部署
getDeployment(deploymentId) DeploymentResponse 按ID检索部署
addDeployment(new CreateDeploymentRequest(name)) DeploymentResponse 创建新部署
getModels(deploymentId) List<ModelEntity> 列出部署中的模型
addModel(deploymentId, ImportModelRequest.builder()) ModelEntity 将模型添加到部署
deleteModel(deploymentId, modelId) String 删除部署中的模型
setModelState(deploymentId, modelId, UpdateModelStateRequest.builder()) ModelEntity 更新模型的状态

更新模型的状态
你还可以使用addModeldeleteModelsetModelState方法进行KNN和数据转换。只需在ImportModelRequest中指定JSON子类型:

  • *转换: ModelEntity.ModelType.TRANSFORM.name()
  • *KNNs: ModelEntity.ModelType.KNN.name()

SKIL/工作流程/Java部署客户端相关推荐

  1. SKIL/工作流程/与SKIL客户端一起工作

    与SKIL客户端一起工作 SKIL可以通过外部环境通过SKIL Clients使用.外部环境可以是笔记本,也可以是客户端应用程序.SKIL客户端(又称skil-clients)是用于操作SKIL实例的 ...

  2. SKIL/工作流程/执行作业

    执行作业 作业是在后台对连接的SKIL资源运行的计算.作业可以有两种类型: 训练 推理 运行作业 完成将外部资源连接到skil之后,可以通过以下两种方式对其执行训练/推理作业. A. CLI B. R ...

  3. SKIL/工作流程/概述

    概述 SKIL减少了实验数据科学建模.关键测试和产品决策以及可扩展部署工程之间的冲突.它弥合了Python生态系统与DevOps.IT和数据工程师部署体系结构之间的鸿沟. 从开始到结束 使用skil的 ...

  4. SKIL/工作流程/命令行

    命令行 (CLI) SKIL带有一个内置的命令行界面(CLI),用于高级设置和管理任务.有时,你需要用特殊变量手动实例化一个进程,或者编写一个定制的shell脚本来管理你自己的SKIL应用程序-CLI ...

  5. SKIL/工作流程/嵌入式SKIL

    嵌入式SKIL 除了提供几乎所有用于创建高效机器学习管道的工具之外,SKIL还可以非常方便地作为嵌入式应用程序.这对于一个DevOps团队来说是非常有用的,可以让他们的模型在最短的时间内运行起来,并且 ...

  6. SKIL/工作流程/SKIL上的分布式训练

    SKIL中的分布式训练 SKIL提供了skil spark命令,用于在spark 集群上对DL4J模型进行分布式训练.它几乎类似于使用带有一些附加功能的spark-submit命令,以便能够查看DL4 ...

  7. SKIL/工作流程/导入模型

    导入模型 TensorFlow, Caffe, Keras, 与 Deeplearning4j 都可以导入到SKIL SKIL模型导入允许数据科学家将他们在其他地方创建的深度学习模型部署到SKIL模型 ...

  8. SKIL/工作流程/TensorFlow模型

    TensorFlow模型 SKIL1.0.3使用TensorFlow C++ API (版本1.4)的自定义JVM绑定,不施加限制.未来版本的SKIL将使用nd4j中的samediff功能来执行导入的 ...

  9. SKIL/工作流程/资源

    资源 当今世界,我们收集越来越多的增长和复杂的数据集,这些数据集往往需要使用复杂的模型.更重要的是,大型和非结构化的数据并没有一个适合所有存储解决方案. 要在有趣的现实问题上进行机器学习,需要适应大量 ...

最新文章

  1. 今日计划: 2022-02-15
  2. 20.二叉树怎么存储
  3. Intellij IDEA 的使用
  4. android系统图标大小
  5. wifi信号桥怎么设置_扩展WiFi信号有什么好方法?路由器无线万能中继设置方法来了!...
  6. Server.ScriptTimeOut,Response.IsClientConnected
  7. java 私塾_Java私塾基础note
  8. JAVA实现网页版斗地主_Java实现斗地主最简代码实例
  9. kafka log4j日志级别修改,一天生成一个日志文件
  10. winhex教程 转
  11. 区块链(一) 初识区块链
  12. nginx出现499现象及原因
  13. 漫谈程序员系列 薪资 你是我不能言说的伤
  14. HY-SRF05 五针超声波测距模块 在stm32f4上实现 附代码 个人经验
  15. 【element】elementUI-中折叠面板箭头图标位置调整往左边
  16. 2020 全国大学生数学建模竞赛 题目
  17. Matlab 文件重命名
  18. Python的return语句中使用条件判断
  19. CPU—Time Profiler
  20. aixcoder邀请码

热门文章

  1. CentOS安装视频播放器MPlayer
  2. 如何发布一个外网可以访问的网站
  3. 甘超波:NLP十二条前提假设之意志所在,能量即来
  4. Unity3D游戏开发之“Android SDK升级后不能打包问题”解决办法
  5. NVIDIA发布Tegra 4:四核A15+72核心GPU
  6. px,em,rem,%,vmin,vmax,vh ,vw
  7. linux+usb刻录,如何在Ubuntu上安装Etcher-开源USB刻录机工具
  8. keychron凭什么高效学习快速码字
  9. Bit-Z为何选择与Bit-M达成战略共识?
  10. vue使用讯飞语音webapi