Deeplearning4J:进程失败索引的长度必须与数组rank相同
下面的错误,我试图训练我的想法(?)ConvLSTM人工神经网络。一旦模型的训练达到100%,并且在模型可以应用到测试集之前,错误就会弹出。
流程和部分示例数据附在这篇文章中。示例数据的配置也在附件中(截图)。想想看,我本可以把它作为一个操作符加入到这个过程中……很抱歉。
有什么办法能让我克服这个错误吗?
流程和部分示例数据附在这篇文章中。示例数据的配置也在附件中(截图)。想想看,我本可以把它作为一个操作符加入到这个过程中……很抱歉。
有什么办法能让我克服这个错误吗?
索引的长度必须与数组的rank长度相同。org.nd4j.linalg.api.shape.Shape.getDouble(Shape.java:510) org.nd4j.linalg.api.ndarray.BaseNDArray.getDouble(BaseNDArray.java:1804) org.nd4j.linalg.api.ndarray.BaseNDArray.getDouble(BaseNDArray.java:4209) com.rapidminer.extension.deeplearning.ioobjects.DeepLearningModel.performPrediction(DeepLearningModel.java:170) com.rapidminer.operator.learner.PredictionModel.apply(PredictionModel.java:116)com.rapidminer.operator.ModelApplier.doWork(ModelApplier.java:134) com.rapidminer.operator.Operator.execute(Operator.java:1013) com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77) com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:812) com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:807) java.security.AccessController。doPrivileged(本地方法)com.rapidminer.operator.ExecutionUnit.execute (ExecutionUnit.java: 807) com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.doIteration (AbstractLoopOperator.java: 409) com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.performSynchronizedLoop (AbstractLoopOperator.java: 382) com.rapidminer.extension.concurrency.operator.process_control.loops.AbstractLoopOperator.doWork (AbstractLoopOperator.java: 462)com.rapidminer.operator.Operator.execute(Operator.java:1013) com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77) com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:812) com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:807) java.security.AccessController.doPrivileged(Native Method) com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807) com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:423) com.rapidminer.operator.Operator.execute(Operator.java:1013) com.rapidminer.Process.executeRoot(Process.java:1377) com.rapidminer.Process.execute(Process.java:1318) com.rapidminer.Process.run(Process.java:1291) com.rapidminer.Process.run(Process.java:1177) com.rapidminer.Process.run(Process.java:1130) com.rapidminer.Process.run(Process.java:1125) com.rapidminer.Process.run(Process.java:1115) com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
0

新手
答案
我看到问题出现在应用模型操作符,因为数据的输入指标与模型shaoes不匹配。我有点好奇目前的深度学习操作符是否适合构建像您的(CNN+LSTM)这样的混合网络,因为这需要在DL4J中进行细粒度编码。
@hughesfleming68对深度学习扩展的混合模型有什么想法?
@pschlunder可以多提些建议。
谢谢
Varun
https://www.varunmandalapu.com/
是安全的。遵循预防措施,保持社交距离
另一个问题是,确实没有足够的数据来证明使用深度学习器是值得的。这是我个人的看法。
关于你的观察@hughesfleming68你似乎是对的。在仅使用LSTM层进行进一步测试时,我根本无法让LSTM工作。
关于数据,我的真实数据集有12'700个例子,有15个属性,但结构完全相同。这是敏感数据,但可以私下分享。
从2017年4月到2019年4月,12’700条线是每日销售,6家店,各3个产品类别。我可以得到更多(约200家商店,约50个产品类别,约4-5年前,每天),但准备数据很困难,因为许多属性必须手动添加。
我的最终目标有两个方面。声明:“我,使用机器学习/深度学习,…”
- A.达到某种程度上准确的预期销售(下一时期,如;下周),每个商店,每个产品类别为学习者提供历史销售,天气和每个特定商店的上下文数据
- B.一旦实现了A,尝试证明删除对特定商店进行分类的重要属性(靠近湖泊(See)或大学(Hochschule),以及天气数据和有关讲座的数据等)对受该属性影响的商店的预测准确性具有可衡量的影响。
我的历史,为什么我尝试以上:- 我最初选择了随机森林,它非常强调商店本身,因此没有产生适用于包含未见商店的数据的“通用”模型,尽管它们与原始训练数据中包含的商店具有相同的属性。
- 然后我使用了梯度增强树,这在一定程度上起了作用,但我不记得为什么我放弃了GBT。
- 然后我想做时间序列分析,但我的数据显然不适合,需要认真重组和转换。
- 我偶然想到了用人工神经网络/深度学习来解决我的问题;从我的研究阅读博客等。建议使用LSTM,但LSTM单独将表现不佳的这类问题。解决方案是一个组合的ConvLSTM,它应该比任何东西都要好。
所以这是一个进化的过程,我如何到达我目前正在尝试做的事情。任何意见都是高度赞赏的。问候,
亚历克斯
我理解线性回归的工作方式,我不确定这将服务于我的最终目标。作为一个新手,我接受纠正。
我选择的乐鱼官网手机版下载产品是酒,香肠和薯片/薯条,面包和饮料/软饮料。
这是因为当开始项目时我以为前几种与季节性、天气和周末和假日期间的湖泊有关;后者与大学和学期有关,当然与假日有关,但与季节性有关的也较少。
在我选择的商店中,有2家是“大学”,其中1家也是“湖”,有的是“湖”,有的不是。大城市的公司流动率很高,其他城市自然要低得多。
当绘制和变换数据时(Excel Pivot Chart),一些假设确实可以很容易地得到证实。但有些似乎不那么明显。
我希望深度学习能够找出这些因素和差异,这是回归模型永远无法做到的。我错了吗?
我这样做一方面是为了上大学,另一方面是我老板喜欢的项目。
如果我的工作证实了这些假设,我的公司将在这方面做一个适当的项目,当然要有真正的数据科学家和规模,并尝试将机器学习/深度学习操作化来进行预测非常短期的销售(如。接下来的2-3天)。但是预测不应该基于历史,我们今天已经可以用标准SAP做到这一点,但是预测应该是基于对整个店铺网络的各种要素投入,减少食品浪费。
如果今年太阳没有出来,但去年总是这样,太多的订单会在商店里坏掉。看到几公斤的牛柳因为我们的汁液不够好而被扔掉,我的头和心都疼。你还觉得“纯粹的倒退”才是正确的方法吗?