槽的
dependencies {br
br
implementation 'org.deeplearning4j:deeplearning4j-core:1.0.0-M1.1'br
implementation 'nz.ac.waikato.cms.weka:weka-stable:3.8.5'br
implementation 'org.encog:encog-core:3.4'br
}
此示例演示了利用Deeplearning4j(DL4J)库创建基本神经网络。该代码建立了一个两层神经网络架构,该架构由具有 4 个输着迷经元和 10 个输入迷经元(利用 ReLU 激活函数)和具有 10 个输着迷经元和 3 个输入迷经元(利用 Softmax 激活函数和负对数似然作为丢失函数)组成。然后初始化模型,并可以进一步演习数据并用于预测。DenseLayerOutputLayer
爪哇岛
import org.deeplearning4j.nn.api.OptimizationAlgorithm;br
import org.deeplearning4j.nn.conf.MultiLayerConfiguration;br
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;br
import org.deeplearning4j.nn.conf.layers.DenseLayer;br
import org.deeplearning4j.nn.conf.layers.OutputLayer;br
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;br
import org.deeplearning4j.nn.weights.WeightInit;br
import org.nd4j.linalg.activations.Activation;br
import org.nd4j.linalg.learning.config.Sgd;br
import org.nd4j.linalg.lossfunctions.LossFunctions;br
br
public class SimpleNeuralNetwork {br
br
public static void main(String[] args) {br
br
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()br
.seed(123)br
.optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)br
.updater(new Sgd(0.01))br
.list()br
.layer(0, new DenseLayer.Builder().nIn(4).nOut(10)br
.weightInit(WeightInit.XAVIER)br
.activation(Activation.RELU)br
.build())br
.layer(1, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)br
.nIn(10).nOut(3)br
.weightInit(WeightInit.XAVIER)br
.activation(Activation.SOFTMAX)br
.build())br
.pretrain(false).backprop(true)br
.build();br
br
MultiLayerNetwork model = new MultiLayerNetwork(conf);br
br
model.init();br
}br
}
此示例解释如何利用 Weka 库对 Iris 数据集进行分类。该代码从 ARFF 文件加载数据集,将类属性(我们想要预测的属性)设置为数据集中的末了一个属性,利用加载的数据构建朴素贝叶斯分类器,并对新实例进行分类。
爪哇岛
import weka.classifiers.bayes.NaiveBayes;br
import weka.core.Instance;br
import weka.core.Instances;br
import weka.core.converters.ConverterUtils.DataSource;br
br
public class WekaClassification {br
br
public static void main(String[] args) throws Exception {br
br
DataSource source = new DataSource("data/iris.arff");br
br
Instances data = source.getDataSet();br
data.setClassIndex(data.numAttributes() - 1);br
br
NaiveBayes nb = new NaiveBayes();br
nb.buildClassifier(data);br
br
Instance newInstance = data.instance(0);br
double result = nb.classifyInstance(newInstance);br
System.out.println("Predicted class: " + data.classAttribute().value((int) result));br
}br
}
Java 拥有丰富的 AI 开拓库和框架生态系统,是构建基于 AI 的运用程序的可行选择。通过利用 Deeplearning4j、Weka 和 Encog 等常用库,并利用 Gradle 作为构建工具,开拓职员可以利用熟习的 Java 编程措辞创建强大的 AI 办理方案。
供应的代码示例演示了利用 Java 和 Gradle 轻松设置和配置 AI 运用程序。DL4J 示例展示了如何创建可运用于图像识别或自然措辞处理等任务的基本深度学习模型。Weka 示例演示了如何利用 Java 和 Weka 库实行机器学习任务,特殊是分类,这对付在 Java 运用程序中实现机器学习办理方案很有代价,例如预测客户流失落或将电子邮件分类为垃圾邮件或非垃圾邮件。
原文标题:Building AI Applications With Java and Gradle
原文链接:https://dzone.com/articles/building-ai-applications-with-java-and-gradle
作者:Arun Pandey
编译:LCR