首页 > 解决方案 > Deeplearning4j:生成随机 INDArray(s) 作为 MultiLayerNetwork 的输入

问题描述

我正在做一个项目,我打算对 MultiLayerNetworks 进行一些性能分析。正如标题所说,我打算创建一个由任意大小的输入和标签组成的随机 INDArray,它将用作任意MultiLayerNetwork 的(训练)输入。更准确地说,我想生成适合任何给定多层网络的输入。我尝试使用Nd4j.randandNd4j.zeros为网络生成输入和标签,但据我了解,不同的层有不同的形状要求。非常感谢任何帮助/建议。提前致谢!

注意:我对数据本身或结果不感兴趣:在我的情况下,生成随机数据就足够了。

标签: javaneural-networkdeeplearning4jnd4j

解决方案


您正在寻找的并不是真正的“东西”。您将不得不枚举不同的架构。虽然您可以根据形状确定有效输入,但这些仍然是您必须自己创建的 ndarray。你的赌注是限制问题并迭代一组确定的输入大小。这就是我们在 dl4j 本身中创建测试用例的方式。

注意:在超参数搜索方面有一些“更高级”的方法,但即便如此,您仍然只是生成随机候选者并枚举一组输入。例如,对于2d 密集网络,您可以根据输入数量等于前一层的输出数量来确定什么是有效的。

一旦你超越了这一点,你就会开始弄清楚哪些层的组合是有效的+能够确定你想要网络的深度。


推荐阅读