Java机器学习VisRec API快速入门 - foojay


如果您是Java开发人员,想进行一些机器学习。您可能会想知道的一些问题是:机器学习能为我做些什么,要使用哪个库,哪些算法以及是否有通用的标准API?
最近JSR 381创建了一个标准API来解决这些问题,这是使用机器学习进行视觉识别的标准Java API。
VisRec API的设计目的是为Java开发人员提供机器学习任务,使他们具有最低的机器学习背景,并且对于Java开发人员入门机器学习非常直观。
除了基本的视觉识别任务(例如图像分类和对象检测)以外,它还支持常见的机器学习任务,例如分类和回归。
由于它是官方Java技术标准,因此可以实现多种实现,并且目前有两种实现:


这是一个基于VisRec API的Java代码示例,用于构建和使用分类器。没有任何解释,您应该清楚发生了什么:
ImageClassifier<BufferedImage> classifier = 
NeuralNetImageClassifier.builder()
   .inputClass(BufferedImage.class)
   .imageHeight(28)
   .imageWidth(28)
   .labelsFile(dataSet.getLabelsFile())
   .trainingFile(dataSet.getTrainingFile())
   .networkArchitecture(new File("mnist.json"))
   .modelFile(new File(
"mnist.dnet"))
   .maxError(1.4f)
   .maxEpochs(100)
   .learningRate(0.01f)
   .build();

BufferedImage image = ImageIO.read(new File(input.getFile()));
Map<String, Float> results = classifier.classify(image);

有关详细的分步说明和示例,请参见《入门指南》