Разработка автоматизированной системы классификации товаров по их изображениям

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ta()

{();[] trainDirectoryInfo = (new DirectoryInfo(initialDirectory + @"\64x48")).GetDirectories(); // Чтение каталога всех категорий= trainDirectoryInfo.Length;(int i = 0; i < trainDirectoryInfo.Length; i++)

{[] items = trainDirectoryInfo[i].GetDirectories(); // список товаров в категории(); // изображения товаров в других категориях(var item in items)

{.AddRange(item.GetFiles("*.jpg"));

}(int j = 0; j < trainDirectoryInfo.Length; j++)

{(j == i);[] falseItems = trainDirectoryInfo[j].GetDirectories();(var item in falseItems)

{.AddRange(item.GetFiles("*.jpg"));

}

}trainImagesCount = (uint)(images.Count + falseImages.Count);net = new NeuralNetwork(smallNetworkLayers);.id = Convert.ToInt32(trainDirectoryInfo[i].Name);.CreateTrainDataFile(trainDirectoryInfo[i].FullName, images, true);

//net.CreateTrainDataFile(trainDirectoryInfo[i].FullName, images, true, trainImagesCount);

//net.CreateTrainDataFile(trainDirectoryInfo[i].FullName, falseImages, false, trainImagesCount);

}

}void CreateSmallTrainData(List wholeTDI)

{(int i = 0; i < trainDirectoryInfo.Count; i++)

{[] items = trainDirectoryInfo[i].GetDirectories();();(var item in items)

{.AddRange(item.GetFiles("*.jpg"));

}(int j = 0; j < wholeTDI.Count; j++)

{(wholeTDI[j] == trainDirectoryInfo[i]);[] falseItems = wholeTDI[j].GetDirectories();(var item in falseItems)

{.AddRange(item.GetFiles("*.jpg"));

}

}trainImagesCount = (uint)(images.Count + falseImages.Count);net = new NeuralNetwork(smallNetworkLayers);.id = Convert.ToInt32(trainDirectoryInfo[i].Name);

//net.CreateTrainDataFile(trainDirectoryInfo[i].FullName, images, true);.CreateTrainDataFile(trainDirectoryInfo[i].FullName, images, true, trainImagesCount);.CreateTrainDataFile(trainDirectoryInfo[i].FullName, falseImages, false, trainImagesCount);

}

}void CreateSmallTrainData(List trainDirectoryInfo)

{(int i = 0; i < trainDirectoryInfo.Count; i++)

{[] items = trainDirectoryInfo[i].GetDirectories();();(var item in items)

{.AddRange(item.GetFiles("*.jpg"));

}net = new NeuralNetwork(smallNetworkLayers);.id = Convert.ToInt32(trainDirectoryInfo[i].Name);watch = Stopwatch.StartNew();.CreateTrainDataFile(trainDirectoryInfo[i].FullName, images, true);.Stop();.WriteLine(((double)watch.ElapsedTicks / (double)Stopwatch.Frequency / (double)images.Count).ToString());

}

}void ParallelCreateSmallTrainData()

(),foreach(List categories in preparedList)

{thread = new Thread(()

{.WriteLine("Создание файлов обучения");

CreateSmallTrainData(categories);

}

);.Start();.Join(10);

}

}int GetNetworkTrainWorkAmount()

{[] trainDirectoryInfo = (new DirectoryInfo(initialDirectory + @"\64x48")).GetDirectories(); // Чтение каталога всех категорийcounter = 0;(var category in trainDirectoryInfo)

{trainFilePath = category.FullName + "//" + category.Name + ".tr";(File.Exists(trainFilePath))

{++;

}

}counter;

}void TrainSmallNetworks()

{();= GetNetworkTrainWorkAmount();[] trainDirectoryInfo = (new DirectoryInfo(initialDirectory + @"\64x48")).GetDirectories(); // Чтение каталога всех категорий(var category in trainDirectoryInfo)

{trainFilePath = category.FullName + "\\" + category.Name + ".tr";(File.Exists(trainFilePath))

{net = new NeuralNetwork(smallNetworkLayers);.id = Convert.ToInt32(category.Name);watch = Stopwatch.StartNew();.Train(trainFilePath);.Stop();.WriteLine("Training " + ((double)watch.ElapsedTicks / (double)Stopwatch.Frequency).ToString());anotherWatch = Stopwatch.StartNew();.Save(initialDirectory + @"\64x48\");.Stop();.WriteLine("Saving " + ((double)anotherWatch.ElapsedTicks / (double)Stopwatch.Frequency).ToString());();

}

}

}void TrainSmallNetworks(List trainDirectoryInfo)

{(var category in trainDirectoryInfo)

{trainFilePath = category.FullName + "//" + category.Name + ".tr";(File.Exists(trainFilePath))

{net = new NeuralNetwork(smallNetworkLayers);.id = Convert.ToInt32(category.Name);

//Stopwatch watch = Stopwatch.StartNew();.Train(trainFilePath);

//watch.Stop();

//Debug.WriteLine(((double)watch.ElapsedTicks / (double)Stopwatch.Frequency).ToString());.Save(initialDirectory + @"\64x48\");();

}

}

}void ParallelTrainSmallNetworks()

(),networkTrainThreadCount);(List categories in preparedList)

{thread = new Thread(()

{.WriteLine("Обучение сетей");(categories);

}

);.SetApartmentState(ApartmentState.STA);.Start();.Join(50);

}

}void CascadeTrainSmallNetworks()

{[] trainDirectoryInfo = (new DirectoryInfo(initialDirectory + @"\64x48")).GetDirectories(); // Чтение каталога всех категорий(var category in trainDirectoryInfo)

{trainFilePath = category.FullName + "//" + category.Name + ".tr";net = new NeuralNetwork(smallNetworkLayers);.id = Convert.ToInt32(category.Name);.CascadeTrain(trainFilePath);.Save(initialDirectory + @"\64x48\");

}

}void WipeTrainData()

{[] trainDirectoryInfo = (new DirectoryInfo(initialDirectory + @"\64x48")).GetDirectories();(var dir in trainDirectoryInfo)

{tr = dir.GetFiles("*.tr");

{[0].Delete();

}(Exception)

{;

}

}

}void WipeNetworks()

{ann = (new DirectoryInfo(initialDirectory + @"\64x48")).GetFiles("*.ann");(var n in ann)

{

{.Delete();

}(Exception)

{;

}

}

}void Wipe()

{();();

}

}

}