java - Deeplearning4j:生成随机 INDArray(s) 作为 MultiLayerNetwork 的输入
问题描述
我正在做一个项目,我打算对 MultiLayerNetworks 进行一些性能分析。正如标题所说,我打算创建一个由任意大小的输入和标签组成的随机 INDArray,它将用作任意MultiLayerNetwork 的(训练)输入。更准确地说,我想生成适合任何给定多层网络的输入。我尝试使用Nd4j.rand
andNd4j.zeros
为网络生成输入和标签,但据我了解,不同的层有不同的形状要求。非常感谢任何帮助/建议。提前致谢!
注意:我对数据本身或结果不感兴趣:在我的情况下,生成随机数据就足够了。
解决方案
您正在寻找的并不是真正的“东西”。您将不得不枚举不同的架构。虽然您可以根据形状确定有效输入,但这些仍然是您必须自己创建的 ndarray。你的赌注是限制问题并迭代一组确定的输入大小。这就是我们在 dl4j 本身中创建测试用例的方式。
注意:在超参数搜索方面有一些“更高级”的方法,但即便如此,您仍然只是生成随机候选者并枚举一组输入。例如,对于2d 密集网络,您可以根据输入数量等于前一层的输出数量来确定什么是有效的。
一旦你超越了这一点,你就会开始弄清楚哪些层的组合是有效的+能够确定你想要网络的深度。
推荐阅读
- reactjs - React:useState 钩子中的 setState 在什么情况下会导致重新渲染?
- css - 使用 flexbox 的水平滚动不适用于鼠标滚轮
- python - 熊猫,访问嵌套数组中的每个第 n 个元素
- python - 从两个现有数据框创建两个新数据框,同时考虑它们的多索引列及其值的所有组合
- macos - 使用带有 arm64 构建的 macdeployqt
- excel - Excel TEXTJOIN 和 FILTERXML 错误字符串
- c++ - 如何在 PCL 中将标签合并到 PointCloud 中?
- angular - 生产环境变量似乎没有设置
- reactjs - 数组的索引项没有被删除
- php - 在 OpenCart 上安装 Jornal 3 模板时出错