Deeplearning4j 是什么
Deeplearning4j 是由美国 AI 创业公司 Skymind 开源并维护的一个基于 Java/JVM 的深度学习框架。同时也是在 Apache Spark 平台上为数不多的,可以原生态支持分布式模型训练的框架之一。此外,Deeplearning4j 还支持多 GPU/GPU 集群,可以与高性能异构计算框架无缝衔接,从而进一步提升运算性能。在 2017 年下半年,Deeplearning4j 正式被 Eclipse 社区接收,同 Java EE 一道成为 Eclipse 社区的一员。
如何看待DJ?
如果您励志研究算法,对不起DJ不是您的最佳选择。如果您和我一样想通过学习DJ解决企业难题,提升服务能力,恭喜您它一定能助您一臂之力。DJ本身就是一个商业型框架,它本身提升了分布式计算,大数据处理的能力。
JAVA开发者
作者本身是一位资深的JAVA开发者,我认为DJ是JAVA开发者转型AI计算的最佳跳板。随着5G,量子计算机,物联网的主见成熟,AI智能计算一定是未来一大趋势。我们只需要知道算法逻辑,并借助DJ加以运用就可以了。
环境搭建
1、项目依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>wang.igood.ai</groupId>
<artifactId>detection</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<nd4j.version>1.0.0-beta4</nd4j.version>
<dl4j.version>1.0.0-beta4</dl4j.version>
<datavec.version>1.0.0-beta4</datavec.version>
<logback.version>1.1.7</logback.version>
<scala.binary.version>2.10</scala.binary.version>
</properties>
<dependencies>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native</artifactId>
<version>${nd4j.version}</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-core</artifactId>
<version>${dl4j.version}</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-parallel-wrapper</artifactId>
<version>${dl4j.version}</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-ui_${scala.binary.version}</artifactId>
<version>${dl4j.version}</version>
</dependency>
</dependencies>
</project>
2、实例代码
public class Lesson1 {
/**
* 系统环境配置
* PS:由于框架会调用原生系统中的相关语法,校验环境配置是否正确。
* */
public static void main(String arg[]){
System.out.println(Nd4j.getBackend());
INDArray data1 = Nd4j.create(new double[]{1,2,3,4});
INDArray data2 = Nd4j.create(new double[]{10,20,30,40});
System.out.println(data1.add(data2));
}
}
DJ环境的搭建相对比较简单,主要是校验DJ的环境配置。大家如有疑问欢迎留言,感谢支持。
下一篇讲解AI训练中的数据准备。
本人诚接各类商业AI模型训练工作,如果您是一家公司,想借助AI解决当前服务问题,可以联系我。微信号:CompanyAiHelper