| @@ -21,6 +21,7 @@ using System.Collections.Generic; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| using System.IO; | using System.IO; | ||||
| using System.Linq; | using System.Linq; | ||||
| using System.Threading.Tasks; | |||||
| using Tensorflow; | using Tensorflow; | ||||
| using TensorFlowNET.Examples.Utility; | using TensorFlowNET.Examples.Utility; | ||||
| using static Tensorflow.Binding; | using static Tensorflow.Binding; | ||||
| @@ -381,10 +382,15 @@ namespace TensorFlowNET.Examples | |||||
| Tensor resized_input_tensor, Tensor bottleneck_tensor, string module_name) | Tensor resized_input_tensor, Tensor bottleneck_tensor, string module_name) | ||||
| { | { | ||||
| int how_many_bottlenecks = 0; | 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]; | var category_list = label_lists[category]; | ||||
| foreach (var (index, unused_base_name) in enumerate(category_list)) | foreach (var (index, unused_base_name) in enumerate(category_list)) | ||||
| { | { | ||||
| @@ -395,8 +401,8 @@ namespace TensorFlowNET.Examples | |||||
| if (how_many_bottlenecks % 300 == 0) | if (how_many_bottlenecks % 300 == 0) | ||||
| print($"{how_many_bottlenecks} bottleneck files created."); | print($"{how_many_bottlenecks} bottleneck files created."); | ||||
| } | } | ||||
| } | |||||
| } | |||||
| }); | |||||
| }); | |||||
| } | } | ||||
| private float[] get_or_create_bottleneck(Session sess, Dictionary<string, Dictionary<string, string[]>> image_lists, | private float[] get_or_create_bottleneck(Session sess, Dictionary<string, Dictionary<string, string[]>> image_lists, | ||||