问题标签 [deeplearning4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1490 浏览

java - 将 org.bytedeco.javacpp.Mat 转换为 Java int/float 数组

我的图像表示为 org.bytedeco.javacpp.Mat。我只是想将它转换为浮点/整数的 Java 数组。转换背后的原因是我想将其他库(Nd4j)中的 Java 数组用于图像置换目的。我尝试了以下方法,但它们不起作用。

0 投票
1 回答
330 浏览

java - Spark 管道上的深度学习:如何在管道中使用神经网络模型进行预测?

我正在尝试将情绪分析程序添加到 Spark 管道。这样做时,我有扩展类org.apache.spark.ml.PredictionModel。扩展此类时PredictionModel,我必须重写predict()预测给定特征标签的方法。但是,当我执行此代码时,我总是得到 0 或 1。例如,如果有 10 条电影评论,其中 5 条是负面评论,另外 5 条是负面评论,它将所有评论归类为负面。我附上了下面的代码。

你能告诉我错误预测的原因吗?

0 投票
2 回答
1666 浏览

deeplearning4j - Deeplearning4j xor 示例

我正在尝试使用 deeplearning4j 训练异或网络,但我认为我并没有真正了解如何使用数据集。

我想创建一个具有两个输入、两个隐藏神经元和一个输出神经元的 NN。

这是我所拥有的:

输出看起来像这样

0 投票
1 回答
161 浏览

java - Spark 管道上的 Deeplearning4j:org.apache.spark.ml.PredictionModel.predict 方法的参数是什么

我正在尝试将编写的情感分析程序添加deeplearning4j到 Spark 管道中。然后我必须覆盖使用我创建org.apache.spark.ml.PredictionModel. predict()的模型进行预测的方法。RNN据我了解,此方法的参数是特征行,并且该行的标签是预测的。但是,在情感分析程序中,特征应该是一个二维数组,因为每一行都包含一个向量列表作为[[0.0011181544391649161,0.0025584171060651644,0.01754946247376411,-0.006530340570481004,0.003487414946750136,0.004426218948032432,0.00404,0.002611281607120172,0.006444432718879956,-0.012260229877306768,0.002399729592556043]]

但是我得到一个一维数组作为[0.003356837383,0.0074654373,...]预测方法的输入。你能解释一下为什么会发生这种情况吗?你能解释一下 predict 方法的论据是什么?

0 投票
0 回答
1404 浏览

java - 如何在训练集中定义多个标签以在 Deeplearning4j 中使用?

我是新手,没有 ML,我已经使用 Deeplearning4j 库进行了训练。我真的迷失在源代码中。我如何阅读具有多个标签的训练集,而不仅仅是 1 个?例如,我不想教 lstm 对 4 个类中的文本进行分类。我如何阅读训练数据集?谢谢

编辑: 这就是我的迭代器代码现在的样子。我有空缺的 POJO 类,它只包含技能 ID 和空缺文本的列表。在每个训练/测试集的每个文件中,有 2 行:一个带有 ids(逗号是分隔符)和文本。所有集合包含 4 个技能,所以 net 的输出等于 5。我训练了 word2vec 模型,所以我的迭代器也使用它。

我使用原始代码示例进行情感分析

我的迭代器:

0 投票
0 回答
166 浏览

performance - Spark 管道上的 Deplearning4j;添加到火花管道时,循环神经网络程序会变慢

我创建了一个 RNN 程序,该程序创建了一个 RNN 模型,使用 deeplearning4j 对其进行训练和预测。它以良好的速度运行(30 分钟),但是当它被添加到 spark 管道时,大约需要 10 个小时才能运行。你能给我解释一下吗?

0 投票
1 回答
797 浏览

machine-learning - MultiLayerNetwork 预测简单函数

我正在尝试为机器学习培养一些直觉。我查看了来自https://github.com/deeplearning4j/dl4j-0.4-examples的示例,我想开发自己的示例。基本上我只是采用了一个简单的函数:a * a + b * b + c * c - a * b * c + a + b + c 并为随机 a、b、c 生成 10000 个输出,并尝试在 90 上训练我的网络% 的输入。问题是无论我做什么,我的网络都无法预测其余的示例。

这是我的代码:

我也玩过学习率,而且很多时候分数都没有提高:

作为激活函数,我也尝试了 relu

0 投票
1 回答
9349 浏览

apache-spark - 运行 DeepLearning4J MNIST 示例时出现 java.lang.OutOfMemoryError

这是我在单个节点本地 Spark 集群上所做的事情:

这就是我得到的:

这里是完整的堆栈跟踪:

spark-submit --class org.deeplearning4j.examples.cnn.MnistExample ./target/dl4j-spark-cdh5-examples-1.0-SNAPSHOT.jar 21:21:13,414 INFO ~ 加载数据....

警告:无法加载本机系统 BLAS ND4J 性能将降低 请安装本机 BLAS 库,例如 OpenBLAS 或 IntelMKL 详情请参阅http://nd4j.org/getstarted.html#open

21:21:20,571 信息 ~ 构建模型.... 21:21:20,776 警告 ~ 目标函数自动设置为最小化。在神经网络配置中设置 stepFunction 以更改默认设置。21:21:20,886 INFO ~ --- 开始网络训练 --- [Stage 0:> (0 + 6) / 6]

ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74) at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1204) 21:24:12,383 错误 ~ 任务 5 in阶段 0.0 失败 1 次;线程“主”org.apache.spark.SparkException 中的中止作业异常:作业因阶段失败而中止:阶段 0.0 中的任务 5 失败 1 次,最近失败:阶段 0.0 中丢失任务 5.0(TID 5,本地主机):java .lang.OutOfMemoryError:在 java.io.ObjectInputStream.readArray(ObjectInputStream.java:1670) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream) 的 java.lang.reflect.Array.newInstance(Array.java:70) 的 Java 堆空间.java:1344) 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) 在 java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:

驱动程序堆栈跟踪:在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1 的 org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1431)。在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala: 59) 在 org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1418) 在 org.apache.spark.scheduler.DAGScheduler$$ 的 scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799) at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:799) at scala.Option.foreach(Option.scala:236) 在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:1640) 在 org.apache.spark.scheduler.DAGSchedulerEventProcessLoop 的 org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:799) .onReceive(DAGScheduler.scala:1599) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:1588) at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48 ) 在 org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:620) 在 org.apache.spark.SparkContext.runJob(SparkContext.scala:1832) 在 org.apache.spark.SparkContext.runJob(SparkContext. scala:1845) at org.apache.spark.SparkContext.runJob(SparkContext.scala:1858) at org.apache.spark.SparkContext.runJob(SparkContext.scala:1929) at org.apache.spark.rdd.RDD.count (RDD.scala:第1157章.spark.impl.multilayer.SparkDl4jMultiLayer.fitDataSet(SparkDl4jMultiLayer.java:239) 在 org.deeplearning4j.examples.cnn.MnistExample.main(MnistExample.java:132) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache。 spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) at org. apache.spark。deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)引起:java.lang.OutOfMemoryError:java.io.ObjectInputStream.readArray(ObjectInputStream.java:1670) 处 java.lang.reflect.Array.newInstance(Array.java:70) 处 java.io.ObjectInputStream 处的 Java 堆空间.readObject0(ObjectInputStream.java:1344) 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) 在 java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500) 在 org.nd4j.linalg.api.buffer。 org.nd4j.linalg.api.buffer.BaseDataBuffer.readObject(BaseDataBuffer.java:868) 的 BaseDataBuffer.doReadObject(BaseDataBuffer.java:880) sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) 的 sun.reflect。DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData (ObjectInputStream.java:1893) 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: 1990) 在 java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) 在 java. io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) 在 java.io.ObjectInputStream。readSerialData(ObjectInputStream.java:1915) 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) 在 java.io.ObjectInputStream.readArray(ObjectInputStream.java :1706) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344) 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) 在 java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) 在 java .io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) 在 java.io.ObjectInputStream。 org.apache.spark.rdd 中的 defaultReadObject(ObjectInputStream.java:500)。ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74) at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1204) 21:24:12,769 错误 ~ 任务异常4.0 在阶段 0.0 (TID 4) org.apache.spark.TaskKilledException at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:204) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java :1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:744) 21:30:18,649 错误 ~ 线程线程中未捕获的异常- 3 org.apache.spark.SparkException:在 org.apache.spark.rpc.RpcEndpointRef.askWithRetry(RpcEndpointRef.scala:118) 在 org.apache.spark.rpc.RpcEndpointRef 处发送消息 [message = StopBlockManagerMaster] 时出错。askWithRetry(RpcEndpointRef.scala:77) at org.apache.spark.storage.BlockManagerMaster.tell(BlockManagerMaster.scala:225) at org.apache.spark.storage.BlockManagerMaster.stop(BlockManagerMaster.scala:217) at org.apache .spark.SparkEnv.stop(SparkEnv.scala:97) at org.apache.spark.SparkContext$$anonfun$stop$12.apply$mcV$sp(SparkContext.scala:1756) at org.apache.spark.util.Utils $.tryLogNonFatalError(Utils.scala:1229) at org.apache.spark.SparkContext.stop(SparkContext.scala:1755) at org.apache.spark.SparkContext$$anonfun$3.apply$mcV$sp(SparkContext.scala: 596)在 org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:267)在 org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply$ mcV$sp(ShutdownHookManager.scala:239) 在 org.apache.spark.util。SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$sp$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1$$anonfun$apply$mcV$ sp$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1765) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$ mcV$sp(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll $1.apply(ShutdownHookManager.scala:239)org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$mcV$sp(ShutdownHookManager.scala:239) 的 org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1765) .spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239)org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply$mcV$sp(ShutdownHookManager.scala:239) 的 org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1765) .spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239) at org.apache.spark.util.SparkShutdownHookManager$$anonfun$runAll$1.apply(ShutdownHookManager.scala:239)

有任何想法吗?

0 投票
1 回答
1075 浏览

deep-learning - 使用卷积神经网络构建图像搜索引擎

我正在尝试使用 AlexNet https://github.com/akrizhevsky/cuda-convnet2 实现图像搜索引擎

这个想法是通过训练神经网络对图像进行分类,然后使用网络最后一个隐藏层的代码作为相似性度量来实现图像搜索引擎。

我试图弄清楚如何在一组新图像上训练 CNN 以对它们进行分类。有谁知道如何开始这个?

谢谢

0 投票
1 回答
605 浏览

deeplearning4j - deeplearning4j:在线 Word2Vec 培训

Word2vec一个很棒的工具是deeplearning4j。我设法按照本教程为语料库创建了一个向量。

现在的问题是如何用新句子更新模型,而不必从头开始重新构建它。

关于这个的一些想法,这种方法有帮助吗?

那会更新模型吗?如果是,如何准备要发送到此方法的句子?