对代码实现第一个感知机心得的再一次解读

  1. 因为最近一直在瞎鼓捣多系统和其他的一些东西,所以导致系统重做后以前电脑上的部分资料丢失,今天复习到这里了,又重新下载了Neuroph的jar包,打算从自己的原先的博客上[代码实现第一个感知机心得]下载原先的代码,辅助理解的,但是下载导入后居然报错了,然后自己看了看发现是jar包版本迭代的问题,导致某些接口方法废弃不再适用,那么相应的吴老师课本中往后关于这部分的代码也不能完全照着课本来做了,当然可以选择老版本的jar包,但是官方更新接口肯定也有需要更新的道理,如果可以我还是觉得选择新版本的jar包比较好,新版本的东西往往会弥补旧版本的一些不足之处
  2. 下面对最新的2.96和我下的上一个版本2.93b进行一个对比,个人感觉啊最新下载目录结构的反而不如以前的了,个人比较喜欢把javadoc和sources包一起导入,想看方法源码了直接就可以跳转过去了,但是现在最新版只有一个apidocs文件夹,里边是离线网页,老版本也有
    在这里插入图片描述
    在这里插入图片描述
  3. 现在来说说哪里报错吧,最新版的jar包要把
    trainXorSet.addRow(new DataSetRow(new double[]{1, 1}, new double[]{0}));
    换为
    trainXorSet.add(new DataSetRow(new double[]{1, 1}, new double[]{0}));
    原因如下,最新版只有一个addRow()方法,老版本重写了好几个
    在这里插入图片描述
    在这里插入图片描述
  4. 还有上次说到还需要导入需要 log4j 和slf4 两个JAR包,当时还百度自己去下载,还因导包出现了冲突,这里直接去下载的压缩包里的libs目录下把slf4j包导入就好了
  5. 另外如果只是更换下载压缩包根目录下的jar包家slf4j包的话,最新版本下还会报错
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/visrec/ml/data/DataSet at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: javax.visrec.ml.data.DataSet at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 19 more
  6. 原因嘛也很简单java.lang.NoClassDefFoundError: javax/visrec/ml/data/DataSet那么去下载的libs包下看看还真有visrec-api包,把这个包导入就可以正常运行了
  7. 总结如下,如果不想自己去选包,那么就把下载的所有包一起导入,如果是想用最新版的jar包,那么就去改一下代码中的方法,如果是用老版的jar包,那就照着书上的代码敲就好了
  8. 教材参考的是吴岸城老师2016年出版的神经网络与深度学习,感觉自学也能看懂不少东西,很适合新手
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值