Skip to content

Commit b864b46

Browse files
author
Jamie Matthews
committed
Create a test batch of images when performance testing
1 parent fafb359 commit b864b46

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

NsfwSpy.PerformanceTesting/Program.cs

+26-6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ class Program
1010
{
1111
static void Main(string[] args)
1212
{
13-
var assetsPath = @"D:\NsfwSpy\Images";
13+
var assetsPath = @"E:\NsfwSpy\Images";
14+
var testImagesPath = @"E:\NsfwSpy\Test";
1415

1516
var classificationTypes = new[]
1617
{
@@ -25,15 +26,34 @@ static void Main(string[] args)
2526

2627
foreach (var classificationType in classificationTypes)
2728
{
28-
var directory = Path.Combine(assetsPath, classificationType);
29-
var files = Directory.GetFiles(directory).OrderBy(f => Guid.NewGuid()).ToList();
29+
var testFilesDirectory = Path.Combine(testImagesPath, classificationType);
30+
var testFiles = Directory.Exists(testFilesDirectory) ? Directory.GetFiles(testFilesDirectory).ToList() : new List<string>();
3031

31-
var length = files.Count > 10000 ? 10000 : files.Count;
32-
files = files.Take(length).ToList();
32+
if (!testFiles.Any())
33+
{
34+
var directory = Path.Combine(assetsPath, classificationType);
35+
var files = Directory.GetFiles(directory).OrderBy(f => Guid.NewGuid()).ToList();
36+
37+
var length = files.Count > 10000 ? 10000 : files.Count;
38+
files = files.Take(length).ToList();
39+
40+
Console.WriteLine($"Copying {classificationType} test files...");
41+
42+
if (!Directory.Exists(testFilesDirectory))
43+
Directory.CreateDirectory(testFilesDirectory);
44+
45+
Parallel.ForEach(files, file => {
46+
var filename = Path.GetFileName(file);
47+
var dest = Path.Combine(testFilesDirectory, filename);
48+
File.Copy(file, dest);
49+
});
50+
51+
testFiles = Directory.GetFiles(testFilesDirectory).ToList();
52+
}
3353

3454
var pr = new PerformanceResult(classificationType);
3555

36-
nsfwSpy.ClassifyImages(files, (filePath, result) =>
56+
nsfwSpy.ClassifyImages(testFiles, (filePath, result) =>
3757
{
3858
pr.Results.Add(result);
3959
Console.WriteLine($"{pr.Key} | Correct Asserts: {pr.CorrectAsserts} / {pr.TotalAsserts} ({(Convert.ToDouble(pr.CorrectAsserts) / pr.TotalAsserts) * 100}%) | IsNsfw: {pr.NsfwAsserts} / {pr.TotalAsserts} ({(Convert.ToDouble(pr.NsfwAsserts) / pr.TotalAsserts) * 100}%)");

0 commit comments

Comments
 (0)