0
我想打印用于分类的traindata/testdata的标签。这里是两个输入的定义(使用deep4j)。显示数据标签[deep4j]
InputSplit[] inputSplit = fileSplit.sample(pathFilter, splitTrainTest, 1 - splitTrainTest);
InputSplit trainData = inputSplit[0];
InputSplit testData = inputSplit[1];
,然后可在DataSetIterator转化这样的:
ImageRecordReader recordReader = new ImageRecordReader(height, width, channels, labelMaker);
recordReader.initialize(trainData, null);
trainIter = new RecordReaderDataSetIterator(recordReader, batchSize, 1, numLabels);
然后我想打印多少地方在这个函数中的每个迭代发现每个标签的例子:
public void print(DataSetIterator iter){
HashMap<String, Integer> hash = new HashMap<String, Integer>();
while(iter.hasNext()){
DataSet example = iter.next();
for(int i = 0 ; i<numLabels ; i++){
if(example.getLabels().getDouble(i)==1.){
String label = example.getLabelName(i);
if(hash.containsKey(label))
hash.put(label, hash.get(label)+1);
else
hash.put(label, 1);
}
}
}
for (String label: hash.keySet()){
System.out.println(" label : " + label.toString() + ", " + hash.get(label) + " examples");
}
}
的问题在于它只显示每个标签的一个示例,而应该有更多......并且当我不使用fileSplit.sample()
分割我的数据集时,该函数显示正确的e xamples。 有什么建议吗?
我想检索每个示例及其相应的标签。所以我的问题是:数据集是否包含几个例子? (对我来说,似乎并不是这样,因为.labelCounts()只发回一个值) – Arcyno
是的,它是一个小批次。请阅读nd4j的工作原理。 http://nd4j.org/tensor –