Browse Source

RetrainImageClassifier.cs: Changed cache_bottlenecks to use Parallel.For

tags/v0.12
Eli Belash 6 years ago
parent
commit
8347f61f51
1 changed files with 10 additions and 4 deletions
  1. +10
    -4
      test/TensorFlowNET.Examples/ImageProcessing/RetrainImageClassifier.cs

+ 10
- 4
test/TensorFlowNET.Examples/ImageProcessing/RetrainImageClassifier.cs View File

@@ -21,6 +21,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Tensorflow;
using TensorFlowNET.Examples.Utility;
using static Tensorflow.Binding;
@@ -381,10 +382,15 @@ namespace TensorFlowNET.Examples
Tensor resized_input_tensor, Tensor bottleneck_tensor, string module_name)
{
int how_many_bottlenecks = 0;
foreach (var (label_name, label_lists) in image_lists)
var kvs = image_lists.ToArray();
var categories = new string[] {"training", "testing", "validation"};
Parallel.For(0, kvs.Length, i =>
{
foreach (var category in new string[] { "training", "testing", "validation" })
var (label_name, label_lists) = kvs[i];

Parallel.For(0, categories.Length, j =>
{
var category = categories[j];
var category_list = label_lists[category];
foreach (var (index, unused_base_name) in enumerate(category_list))
{
@@ -395,8 +401,8 @@ namespace TensorFlowNET.Examples
if (how_many_bottlenecks % 300 == 0)
print($"{how_many_bottlenecks} bottleneck files created.");
}
}
}
});
});
}

private float[] get_or_create_bottleneck(Session sess, Dictionary<string, Dictionary<string, string[]>> image_lists,


Loading…
Cancel
Save