モデルをjava apiで読み込み、予測を実行すると、最初のものが他のものよりもかなり長くかかることがあります。物事のようないくつかの怠惰な評価があります、私は最初の予測までロードされていないモデルの重みを意味する?これの背後にある理由は何ですか?Tensorflow java api - 1番目の予測時間と2番目以上の数値
try (Session s = load.session()) {
Tensor result = null;
startTime = System.nanoTime();
result = s.runner().feed("input", data).fetch("prediction").run().get(0);
endTime = System.nanoTime();
System.out.println(String.format("First prediction performance: %.4f ms", ((double)endTime - startTime)/1000000));
startTime = System.nanoTime();
result = s.runner().feed("input", data).fetch("prediction").run().get(0);
endTime = System.nanoTime();
System.out.println(String.format("2nd prediction performance: %.4f ms", ((double)endTime - startTime)/1000000));
System.out.println(result.toString());
}
- まず予測性能:10.6066ミリ秒
- 第二予測性能:0.4776ミリ秒
gpuまたはcpuを使用していますか? – Wontonimo
私はCPUを使用しています。実際には私は大丈夫です、私は2番目とより多くの予測の計算時間が好きです。ちょうど私が正しくそれを測定していることを確認したい。 – kecso