Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java“快速保存”执行_Java_Performance - Fatal编程技术网

Java“快速保存”执行

Java“快速保存”执行,java,performance,Java,Performance,我遇到的问题似乎与加载时间有关;我并不是在一台速度特别快的机器上运行,但我仍然想涉足神经网络。简而言之,我必须将336600000个整数加载到使用MNIST数据库的一个大数组中;每个图像是28x28,相当于每个图像748像素,乘以45000个图像。它工作得很好,令人惊讶的是我没有耗尽内存,但是。。。将数据放入阵列需要4个半小时。 如果您愿意,我可以提供其余的代码,但这里有一个贯穿文件的函数 public static short[][] readfile(String fileName) thr

我遇到的问题似乎与加载时间有关;我并不是在一台速度特别快的机器上运行,但我仍然想涉足神经网络。简而言之,我必须将336600000个整数加载到使用MNIST数据库的一个大数组中;每个图像是28x28,相当于每个图像748像素,乘以45000个图像。它工作得很好,令人惊讶的是我没有耗尽内存,但是。。。将数据放入阵列需要4个半小时。 如果您愿意,我可以提供其余的代码,但这里有一个贯穿文件的函数

public static short[][] readfile(String fileName) throws FileNotFoundException, IOException {
short[][] array = new short[10000][784];
BufferedReader br = new BufferedReader(new FileReader(System.getProperty("user.dir") + "/MNIST/" + fileName + ".csv"));
br.readLine();
try {
  for (short i = 1; i < 45000; i++) {
    String line = br.readLine();
    for (short j = 0; j < 784; j++) {
      array[i][j] = Short.parseShort(line.split(",")[j]);
    }
  }
  br.close();
} catch (IOException e) {
  e.printStackTrace();
}
return array;
}

我想知道的是,有没有什么方法可以快速保存程序的执行,这样我就不必为每一个小的调整重新构建数组

注意:我已经有一段时间没有接触Java了,我的代码主要是从许多不同的源代码中拼凑而成的。如果出现了一些严重的错误或者只是Java no no no no,我不会感到惊讶,如果您能够在回答问题时修复这些错误,这将对我有很大帮助

编辑:坏问题,我只是瞎了。。。对不起,浪费时间了

编辑2:过了一段时间,我决定不加载所有的图像,然后一个接一个地进行训练,我可以一个接一个地训练,然后加载下一个。谢谢大家的想法

  array[i][j] = Short.parseShort(line.split(",")[j]);
您正在为每个整数调用Stringsplit


在循环外调用一次,并将值复制到2d数组中。

为什么需要一次加载所有图像?问题实际上与神经网络无关-请不要垃圾邮件删除不相关的标记。为什么分配10000行,然后循环45000次?不管怎么说,一个大问题是,当一次就足够时,您每行调用line.split 784次。对于您的实际问题,您可以将数组保存为二进制文件,并在中读取。Cardinal-Monica:Training data-desertnaut:抱歉-KenY-N我从来没有见过。非常感谢你!你们有哪台机器这么慢?非常感谢。我从来没见过!