Java 交互DataSetInterator并将intto添加到DataSet
我想要交互一个DataSetIterator并将其添加到数据集中。迭代很容易:Java 交互DataSetInterator并将intto添加到DataSet,java,deeplearning4j,dl4j,Java,Deeplearning4j,Dl4j,我想要交互一个DataSetIterator并将其添加到数据集中。迭代很容易: while (iterator.hasNext()) { DataSet next = iterator.next(); dataSet.addRow(next, dataSet.numExamples()); // isn't work } 如果DataSetIterator批处理大小为1,当我执行dataSet.addRow(下一步,1)时这只是用下一个元素替换第一个元素。如果批大小为2,则引发
while (iterator.hasNext()) {
DataSet next = iterator.next();
dataSet.addRow(next, dataSet.numExamples()); // isn't work
}
如果DataSetIterator批处理大小为1,当我执行dataSet.addRow(下一步,1)时代码>这只是用下一个元素替换第一个元素。如果批大小为2,则引发异常:线程“main”java.lang.IllegalArgumentException中的异常:NDArrayIndex超出范围。开始索引:2必须小于其大小:2
我还想知道如何将数据集添加到另一个数据集中。语句引发的异常:
dataSet.addRow(next, dataSet.numExamples()); // isn't work
应该给你一个线索,为什么它不工作
上述引发异常的可能原因是,addRow()的第二个参数指定的行索引基于0,因此有效值的范围为0到numExamples()-1
关于向数据集中添加行,请检查数据集中是否存在不要求调用方指定行索引的append()方法或addRow()方法。要将一个数据集实例与另一个数据集实例合并,请检查是否有可用的merge()方法
希望这有帮助 DataSet
类具有静态的merge()
方法。在这个方法中,您传递一个列表
,并将所有数据集
包含的内容返回到列表
中,就像只返回一个数据集
一样
ArrayList<DataSet> data_list = new ArrayList<DataSet>();
// add some data into data_list
DataSet allData = DataSet.merge(data_list); // all DataSet into data_list are merged into allData
ArrayList data_list=new ArrayList();
//将一些数据添加到数据列表中
DataSet allData=DataSet.merge(数据列表);//数据列表中的所有数据集都合并到所有数据中
我想添加一行或多行,但此方法无效。我已更新了上面的原始帖子,请检查它是否有助于解决问题。