完全基于 Java 的开源深度学习平台,亚马逊的大佬带你上手( 二 )


JShell 是一个 JShell 的改版,包含了 DJL 的特性 。你可以直接集成已有的 Java 功能和 DJL 的 class 在线使用 。我们为 JShell 提前准备了下面的引入:
import ai.djl.ndarray.NDManager;import ai.djl.ndarray.NDArray;import ai.djl.ndarray.types.Shape;import ai.djl.ndarray.index.NDIndex;NDManager manager = NDManager.newBaseManager();后端是基于 SpringBoot 的 server 架构,前端使用了 xtermjs 。
目前这个命令行支持如下操作:

  • backspace删除输入
  • <- 和 -> 移动光标
  • 复制/粘贴代码功能
  • 输入clear进行清屏操作
通过网页中提供的几种简单案例,你可以轻松使用 NDArray 来完成你所需要的功能 。
想了解我们是如何构建这个 JShell 应用的,请看实现代码。
Java 版的 Jupyter Notebook
完全基于 Java 的开源深度学习平台,亚马逊的大佬带你上手

文章插图
 
地址:https://github.com/awslabs/djl/tree/master/jupyter
什么?Jupyter Notebook?我们难道说的不是 Python?不!100% 纯 Java11 。
通过 Spencer Park’s IJava 项目 启发, 我们将 DJL 集成在了 Jupyter Notebook 里面 。不需要繁杂的配置,直接启动就能用 。我们准备了一系列使用 Jupyter Notebook 构建的 Java 深度学习训练以及推理应用 Notebook 。想了解更多就点击这里吧 。
Java 版本的 Notebook 可以基本实现所有 Jupyter 在 Python 上的特性:
  • 支持每个代码块独立运行
  • 展示一张图片
  • 利用 Tablesaw 展示一个图表
相比于 Python,Java 的 Notebook 可以直接引入 Maven 的库,这样用户就无需担心项目配置等问题 。同时这个 Notebook 也支持在 GPU 环境下运行,你可以轻松使用 Notebook 进行深度学习训练任务 。
通过下面几个 Notebook 可以帮助你快速了解 DJL 的用法以及新特性:
  • 使用 ModelZoo 进行目标检测
  • 加载 PyTorch 预训练模型
  • 加载 Apache MXNet 预训练模型
  • 迁移学习案例
  • 问答系统案例
P.S:我们甚至还准备了基于 Java 的深度学习书,现在还处于预览版阶段,敬请期待 。
关于 DJL 以及未来实验室计划
完全基于 Java 的开源深度学习平台,亚马逊的大佬带你上手

文章插图
 
DJL 还是一个很年轻的框架,2019 年底发布,2020 年 3 月才真正支持了所有主流的深度学习框架 (TensorFlow、PyTorch MXNet) 。你可以轻松的使用 DJL 来训练以及部署你的深度学习模型 。它也包含了 70 多种来自 GluonCV、HuggingFace、TorchHub 以及 Keras 的预训练模型 。
关于未来实验室:我们仍旧还有很多功能处于开发阶段,需要大量小伙伴去参与并且体验我们的新功能 。下面是几个正在进行中的项目:
  • D2L - Java:为《动手学深度学习》 打造一本 Java 版本的书
  • DJL NLP wordEmbedding:为 DJL 提供更多 word embedding 的接口

【完全基于 Java 的开源深度学习平台,亚马逊的大佬带你上手】


推荐阅读