我正在使用jmatio从Matlab文件(CIFAR10数据集)中读取10000x3072数组。
这是我到目前为止的内容:
import com.jmatio.io.*;
import com.jmatio.types.*;
public class Driver {
public static void main(String[] args) throws FileNotFoundException, IOException {
MatFileReader matfilereader = new MatFileReader("test_batch.mat");
MLArray mlArrayRetrieved = matfilereader.getMLArray("data");
System.out.println(mlArrayRetrieved);
System.out.println(mlArrayRetrieved.contentToString());
}
}
这是我的输出:
data =无法显示包含1000个以上元素的变量。
我尝试遍历MLArray,但是出现以下错误:
Can only iterate over an array or an instance of java.lang.Iterable
有什么想法可以将阵列打印到控制台吗?
最佳答案
改变您的访问方式
MLArray详细信息:
http://intra.csb.ethz.ch/javadoc/metabolic/com/jmatio/io/MatFileReader.html#getMLArray(java.lang.String)
还要检查一下mlarray的实现方式,然后得出访问方法:
http://intra.csb.ethz.ch/javadoc/metabolic/src-html/com/jmatio/types/MLArray.html#line.306