Make tensorflow benchmark order deterministic.

Makes it easier to compare output from different runs. Consistent
with what other benchmarks do.

PiperOrigin-RevId: 481192191
This commit is contained in:
Ayush Ranjan
2022-10-14 11:26:55 -07:00
committed by gVisor bot
parent 94600be1b8
commit 0444ca8c9f
+14 -12
View File
@@ -26,15 +26,17 @@ import (
// BenchmarkTensorflow runs workloads from a TensorFlow tutorial.
// See: https://github.com/aymericdamien/TensorFlow-Examples
func BenchmarkTensorflow(b *testing.B) {
workloads := map[string]string{
"GradientDecisionTree": "2_BasicModels/gradient_boosted_decision_tree.py",
"Kmeans": "2_BasicModels/kmeans.py",
"LogisticRegression": "2_BasicModels/logistic_regression.py",
"NearestNeighbor": "2_BasicModels/nearest_neighbor.py",
"RandomForest": "2_BasicModels/random_forest.py",
"ConvolutionalNetwork": "3_NeuralNetworks/convolutional_network.py",
"MultilayerPerceptron": "3_NeuralNetworks/multilayer_perceptron.py",
"NeuralNetwork": "3_NeuralNetworks/neural_network.py",
workloads := []struct {
name, file string
}{
{"GradientDecisionTree", "2_BasicModels/gradient_boosted_decision_tree.py"},
{"Kmeans", "2_BasicModels/kmeans.py"},
{"LogisticRegression", "2_BasicModels/logistic_regression.py"},
{"NearestNeighbor", "2_BasicModels/nearest_neighbor.py"},
{"RandomForest", "2_BasicModels/random_forest.py"},
{"ConvolutionalNetwork", "3_NeuralNetworks/convolutional_network.py"},
{"MultilayerPerceptron", "3_NeuralNetworks/multilayer_perceptron.py"},
{"NeuralNetwork", "3_NeuralNetworks/neural_network.py"},
}
machine, err := harness.GetMachine()
@@ -43,10 +45,10 @@ func BenchmarkTensorflow(b *testing.B) {
}
defer machine.CleanUp()
for name, workload := range workloads {
for _, workload := range workloads {
runName, err := tools.ParametersToName(tools.Parameter{
Name: "operation",
Value: name,
Value: workload.name,
})
if err != nil {
b.Fatalf("Failed to parse param: %v", err)
@@ -71,7 +73,7 @@ func BenchmarkTensorflow(b *testing.B) {
Image: "benchmarks/tensorflow",
Env: []string{"PYTHONPATH=$PYTHONPATH:/TensorFlow-Examples/examples"},
WorkDir: "/TensorFlow-Examples/examples",
}, "python", workload); err != nil {
}, "python", workload.file); err != nil {
b.Errorf("failed to run container: %v logs: %s", err, out)
}
b.StopTimer()