public override bool Equals(object obj) { Model test = obj as Model; if (test == null) { return(false); } bool same = ClassLabels.IsEqual(test.ClassLabels); same = same && NumberOfClasses == test.NumberOfClasses; same = same && NumberOfSVPerClass.IsEqual(test.NumberOfSVPerClass); if (PairwiseProbabilityA != null) { same = same && PairwiseProbabilityA.IsEqual(test.PairwiseProbabilityA); } if (PairwiseProbabilityB != null) { same = same && PairwiseProbabilityB.IsEqual(test.PairwiseProbabilityB); } same = same && Parameter.Equals(test.Parameter); same = same && Rho.IsEqual(test.Rho); same = same && SupportVectorCoefficients.IsEqual(test.SupportVectorCoefficients); same = same && SupportVectorCount == test.SupportVectorCount; same = same && SupportVectors.IsEqual(test.SupportVectors); return(same); }
public override int GetHashCode() { return(ClassLabels.ComputeHashcode() + NumberOfClasses.GetHashCode() + NumberOfSVPerClass.ComputeHashcode() + PairwiseProbabilityA.ComputeHashcode() + PairwiseProbabilityB.ComputeHashcode() + Parameter.GetHashCode() + Rho.ComputeHashcode() + SupportVectorCoefficients.ComputeHashcode() + SupportVectorCount.GetHashCode() + SupportVectors.ComputeHashcode()); }
public void DatabaseCleanup() { foreach (var context in ImageContext) { ImageContext.Remove(context); } foreach (var label in ClassLabels) { ClassLabels.Remove(label); } foreach (var information in ImagesInformation) { ImagesInformation.Remove(information); } SaveChanges(); }
public void DatabaseAdding(ObjectInImageProbability image) { ImageInformation AddedImage = new ImageInformation { Path = image.Path, ImageContext = new Blob() { ImageContext = File.ReadAllBytes(image.Path) }, Probability = image.Probability }; var query = ClassLabels.Include(item => item.ImagesInformation).Where(item => item.StringClassLabel == image.ClassLabel); if (query.Count() == 0) { AddedImage.ClassLabel = new ClassLabel() { StringClassLabel = image.ClassLabel, ClassLabelImagesNumber = 1 }; AddedImage.ClassLabel.ImagesInformation = new List <ImageInformation> { AddedImage }; ImagesInformation.Add(AddedImage); ClassLabels.Add(AddedImage.ClassLabel); ImageContext.Add(AddedImage.ImageContext); } else { AddedImage.ClassLabel = query.First(); AddedImage.ClassLabel.ImagesInformation.Add(AddedImage); AddedImage.ClassLabel.ClassLabelImagesNumber++; ImagesInformation.Add(AddedImage); ImageContext.Add(AddedImage.ImageContext); } SaveChanges(); }