Idea软件中Maven项目使用org.deeplearning4j库遇到的问题

首先是在Maven的pom.xml文件中添加<dependency>,

如图所示:

但是通过反复试错以及查阅了Maven Central: org.deeplearning4j:deeplearning4j-core:1.0.0-M2

之后发现,基本该Deeplearning4j库都需要Java 9+ 的版本,但是本人项目一直是JDK 8,(也就是老版本的JDK),然后新建了一个测试的java文件试图运行,代码如下:

public class Deeplearning4j {
    public static void main(String[] args) {
        int numInput = 2; // 输入节点数
        int numHidden = 20; // 隐藏节点数
        int numOutput = 1; // 输出节点数
        double learningRate = 0.01; // 学习率

        MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
                .seed(123)
                .updater(new Sgd(learningRate))
                .list()
                .layer(new DenseLayer.Builder().nIn(numInput).nOut(numHidden)
                        .activation(Activation.RELU)
                        .build())
                .layer(new OutputLayer.Builder(LossFunctions.LossFunction.XENT)
                        .activation(Activation.SIGMOID)
                        .nIn(numHidden).nOut(numOutput).build())
                .build();

        MultiLayerNetwork model = new MultiLayerNetwork(conf);
        model.init();
    }
}

 运行出现这样的错误:

Error:(2, 34) java: 无法访问org.deeplearning4j.nn.conf.MultiLayerConfiguration 错误的类文件: /C:/Users/FerryMaLi/.m2/repository/org/deeplearning4j/deeplearning4j-nn/1.0.0-M2.1/deeplearning4j-nn-1.0.0-M2.1.jar!/org/deeplearning4j/nn/conf/MultiLayerConfiguration.class 类文件具有错误的版本 55.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。

发现该问题原因是:

这个问题指示你的Java项目中存在版本不兼容的问题。这里的 “55.0” 是Java类文件的版本号,对应于Java 11,而 “52.0” 对应于Java 8。

所示解决方案可以有以下这些:

  1. 升级JDK版本:如果你的项目可以升级到Java 11,你可以安装JDK 11并确保你的IDE(例如IntelliJ IDEA或Eclipse)和构建工具(例如Maven或Gradle)使用的是JDK 11。

  2. 更改项目的编译版本:如果你必须使用Java 8,你需要确保你的项目设置为使用Java 8编译。在Maven中,你可以在pom.xml文件中设置maven-compiler-plugin插件的sourcetarget为1.8:

  3. 更换依赖库的版本:如果是因为某个依赖库是用Java 11编译的,而你的项目需要在Java 8环境下运行,你可能需要找到该依赖库兼容Java 8的版本,并在项目的pom.xml中将其依赖库版本更换为兼容Java 8的版本。

  4. 清理和重新构建项目:有时候清理项目的缓存和重新构建可以解决这类问题。在Maven中,你可以使用以下命令来清理和重新构建项目:

我先说第一种解决办法,首先为了保留之前的JDK以在后续的项目使用,所以我选择了在同一电脑上安装了不同的JDK版本,具体操作不难,展示如下:

这样一来,当需要什么版本的JDK就修改 JAVA_HOME,这里举例 %JAVA_HOME11%  ,11则代表我当前是JDK 11,好的这里结束之后,往下看!

我的软件是Intellli IDEA,首先要知道自己的IDEA能支持的JDK最高版本

PS:我之前没有看自己的仅能支持到JDK 14,而下载了JDK 17,导致出现下列报错:

Error:Cannot determine path to 'tools.jar' library for 17 (C:/Program Files/Java/jdk-17)

 而我的IDEA仅能到14,所以我最后又添加了JDK 11,然后选择的 10 -Local variable type inference

好了 ,现在再说切换自己项目JDK的操作:

找到并添加自己心仪且适合的JDK,同时注意:我的是Maven项目,所以需要在pom.xml文件里统一修改配置,如下所示;

最后的最后,运行我上面给出的 Deeplearning4j 示例代码,成功如下;

以上就是我的个人经历及总结,

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值