如何让DJL 之 Java 玩转多维数组

一、前言

随着数据科学在生产中的应用逐步增加,使用 N维数组 灵活的表达数据变得愈发重要。我们可以将过去数据科学运算中的多维循环嵌套运算简化为简单几行。由于进一步释放了计算并行能力,这几行简单的代码运算速度也会比传统多维循环快很多。

这种数学计算的包已经成为数据科学、图形学以及机器学习领域的标准。同时它的影响力还在不断的扩大到其他领域。

在 Python 的世界,调用 NDArray(N维数组)的标准包叫做 NumPy。但是如今在 Java 领域中,并没有与之同样标准的库。为了给 Java 开发者创造同一种使用环境,亚马逊云服务开源了 DJL 一个基于 Java 的深度学习库。

尽管它包含了深度学习模块,但是它最核心的 NDArray 系统可以被用作 N维数组 的标准。它具备优良的可扩展性、全平台支持以及强大的后端引擎支持 (TensorFlow、PyTorch、Apache MXNet)。无论是 CPU 还是 GPU、PC 还是安卓,DJL 都可以轻而易举的完成任务。

项目地址:https://github.com/awslabs/djl/

在这个文章中,我们将带你了解 NDArray,并且教你如何写与 Numpy 同样简单的 Java 代码以及如何将 NDArray 使用在现实中的应用之中。
二、安装 DJL

可以通过下方的配置来配置你的 gradle 项目。或者你也可以跳过设置直接使用我们在线 JShell 。

在线 JShell 链接: https://djl.ai/website/demo.html#jshell

plugins {
id ‘java’
}
repositories {
jcenter()
}
dependencies {
implementation “ai.djl:api:0.6.0”
// PyTorch
runtimeOnly “ai.djl.pytorch:pytorch-engine:0.6.0”
runtimeOnly “ai.djl.pytorch:pytorch-native-auto:1.5.0”
}

然后,我们就可以开始上手写代码了。
三、基本操作

我们首先尝试建立一个 try block 来包含我们的代码(如果使用在线 JShell 可跳过此步):

try(NDManager manager = NDManager.newBaseManager()) {
}

NDManager 是 DJL 中的一个 class 可以帮助管理 NDArray 的内存使用。通过创建 NDManager 我们可以更及时的对内存进行清理。当这个 b

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值