问题标签 [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.
apache-spark - 来自 sbt-assembly 的 FatJar 抛出 java.lang.NoClassDefFoundError
我正在尝试使用 spark 和 deepLearning4J 执行使用 sbt-assembly 构建的胖 jar,不幸的是,在执行过程中,我遇到了线程“main”java.lang.NoClassDefFoundError 中的异常:许多 jar 的错误。我尝试使用 spark-submit 中的 --jars 选项添加 jar,但是当我添加 jar 时,我遇到了来自另一个依赖项的另一个类的相同错误。
如果我理解得很好,sbt-assembly 生成的 FatJar 应该可以防止这种问题,因为它包含所有需要的 jar。
我的 scala 文件位于myproject/src/main/scala/xxx/spark/yyy/
也许是由于合并策略?
如果有帮助,我会加入我的 build.sbt 文件!
先感谢您。
deep-learning - 为什么在训练 FCN-8 期间损失保持不变?
我正在尝试运行 FCN-8s。我做了以下步骤: 1. 下载这个存储库
2. 将我的数据转换为 LMDB 并更改 train_val.prototxt 中的路径 3. 下载 fcn8s-heavy-pascal caffemodel
4. 将number_of_output
intrain_val.prototxt
和deploy.prototxt
从60更改为5(类数在我的数据中)在最后几层:
我从帕斯卡数据集的预训练模型的权重开始训练。但随着时间的推移,损失保持不变(损失 = 105476)。
我不知道我做错了哪一部分。非常感谢您为解决此问题提供的帮助。
java - Deeplearning4j:迭代、时期和 ScoreIterationListener
大家下午好。
我对 Deepleaning4j 库还很陌生,还有一些我还不清楚的东西。“epoch”的概念并不新鲜,因此很明显它代表了训练集上的一个完整周期。我的第一个疑问与“迭代”的概念有关。什么是训练集的迭代?它对应于对小批量训练实例的分析还是其他什么?
在我的代码中,我设置了“.iterations(1)”;然而,当我运行我的代码时,我看到了很多:
... ScoreIterationListener - 迭代 XX 的得分是 yy.yyyyyy”
那么,如果我设置“.iterations(1)”,为什么我会继续看到 XX 的值大于 1?将“迭代”作为网络配置参数的概念与“迭代”对 ScoreIterationListener 类的含义之间是否存在一些差异?
感谢大家的任何答案或有用信息的链接。
最好的,毛罗。
python-2.7 - 为什么 FCN32 输出是黑色图像(所有像素都为零值)?
我正在尝试从 FCN 32 获取输出。我使用 pascalcontext-fcn32-heavy.caffemodel 预训练模型训练了 FCN32。我可以运行 5 个类别的灰度图像。但是,在推理过程中,输出全为零(黑色图像)。这是推理代码:
这是推理的日志信息:
我有两个主要问题:
- 我想知道为什么输出是黑色的?和
- 我如何知道何时停止运行算法(即迭代次数)?我真的不知道在那个阶段我可以停止微调的最佳迭代次数和损失值是多少。我停止了训练
40,000 iterations
,我对此一无所知。 - 分割的结果是否也必须是灰度图像(如输入),或者创建 RGB 结果图像对输出没有任何影响?
我真的不知道我做对了多少。很困惑:(有人有什么建议吗?我真的很感谢你的帮助。
deep-learning - 我们如何知道何时停止在预训练模型上训练模型?
我很抱歉,因为我的问题可能听起来很愚蠢。但我在深度学习和 caffe 方面还很陌生。我们如何检测在我们自己的数据集上微调预训练需要多少次迭代?例如,我正在为我自己的数据运行 fcn32,其中包含 5 个类。我什么时候可以通过查看训练阶段的损失和准确性来停止微调过程?
非常感谢
neural-network - 有没有使用加权损失进行像素分割/分类任务的例子?
我正在对我的数据进行 FCN32 语义分割。我运行算法来微调我的数据(只有一个通道的灰度图像),直到 80,000 次迭代;然而,损失和准确率是波动的,输出图像完全是黑色的。甚至,经过 80,000 次迭代,损失如此之高。我认为分类器不能很好地训练我的数据。所以,我要从头开始训练。另一方面,我的数据有不平衡的班级成员。背景像素多于其他四类。一些研究人员建议使用加权损失。有人有什么主意吗?我做对了吗?如何将此加权损失添加到 train_val.prototxt?
如果您知道与加权损失训练相关的任何资源/示例,我将不胜感激,请在此处与我分享。
再次感谢
deep-learning - 是否可以批量减少 convert_imageset.cpp 中的图像数量以解决 GPU 内存不足的问题?
我试图在 caffe 中对我的数据运行 fcn。我能够lmdb
通过convert_imageset
内置函数 caffe 将我的图像集转换为。但是,一旦我想训练net
,它给了我以下错误:
我浏览了许多在线资源来解决内存故障,但大多数都建议减少批量大小。甚至,我将图像的大小减小到 256x256。我还不能解决这个问题。我通过这个命令检查了GPU的内存,nvidia-smi
模型是Nvidia GT 730
,内存是1998 MiB
。由于批量大小train_val.prototxt
为 1,我无法在train_val.prototxt
. 所以我的问题是:
- 通过查看终端中的日志文件,我意识到每当
convert_imageset
将数据转换为 LMDB 时,它都是在一组中拍摄 1000 张图像。是否可以将这个数字改为143
更小(例如 2;一次拍摄两个图像),重新编译 caffe,然后使用 convert_imageset 将图像转换为 lmdb?是否有意义?151
convert_imageset.cpp
- 如果问题 1 的答案是肯定的,我该如何再次编译 caffe,我应该删除
build
文件夹并从头开始重新安装 caffe? - caffe 是如何处理 LMDB 数据的?这就像在运行 convert_imagenet 时拍摄一批显示的 1000 张图像吗?
非常感谢您的帮助。谢谢...
java - 在 Windows 上安装 DL4J
我刚刚按照以下步骤操作:https ://deeplearning4j.konduit.ai/getting-started/quickstart (从 github 克隆它,执行 mvn clean install,将项目导入 IntelliJ),我能够在IntelliJ。
但是,我有点不确定这些步骤是否足以让我能够在示例之外使用 DL4J 库(以及我将如何做到这一点?)。
如果我想在自己的项目中使用 DL4J 库,是否只需要创建一个新的 maven 项目并在 POM.XML 文件中添加 DL4J 的依赖项就足够了?如果是这样,你能给我举个例子吗?
或者我上面遵循的指南仅适用于示例而不适用于实际库?
如果是这种情况,如果有人有时间,您能否详细解释一下我如何安装 DL4J 库以及顺利运行它所需的一切(以及我将来如何使用该库举个例子?)?
我正在运行 Windows 10、JDK 1.8.0.65 64 位、Maven 3.3.9、IntelliJ。
如果我的问题看起来既愚蠢又基本,我很抱歉,但我在安装过程中遇到了困难。
感谢您花时间阅读我的问题!
deep-learning - 这是什么类型的神经网络?
我是深度学习的新手(尤其是 deeplearning4j),并且正在尝试这些示例。特别是,我想知道以下 CSV 示例中使用了哪种类型的神经网络。这是一个深度学习神经网络还是只是“常规神经网络”。我确实理解普通神经网络和深度学习神经网络之间的区别在于 DL 算法解决了“梯度消失”问题,而普通神经网络则没有。我在这里有点困惑。我的感觉是以下是常规的神经网络,但我想确认一下。
model.fit(trainingData);
neural-network - 将训练数据转换为神经网络中的数组
我正在尝试在 deeplearning4j 中使用时间预测模型进行文本处理,该模型不使用单词、句子、char 作为输入特征并产生时间作为输出。但是在将输入数据建模为输出时,我很难转换这些值以及如何判断这些输入值的网络是各自的输出值。
我还应该从只有 x1 和 y. 而不是 x1-x4 来减少维度吗?
training-data.csv 以下列有 100 个值。x1,x2,x3,x4(输入) y(输出)
我尝试使用可以捕获变体输入的 SequenceRecorder 和 Iterator。下面是我的代码
}
我的数据有四个输入值和一个输出值。但我有一个例外
org.deeplearning4j.exception.DL4JInvalidInputException: Input that is not a matrix; expected matrix (rank 2), got rank 3 array with shape [1, 4, 107]