public LatentManipulator() { // GanModelInterface is the interface to the model that generates images g = new GanModelInterface(); AppendedDescription = string.Format("LatentManipulator version {0}. Latent code for GAN model" + " used to generate this image:", version); using (var md5 = System.Security.Cryptography.MD5.Create()) { using (var stream = File.OpenRead(g.GetGraphPath())) { _graphHash = md5.ComputeHash(stream); } } _graphHashStr = BitConverter.ToString(_graphHash).Replace("-", "").ToLowerInvariant(); DataDir = string.Format("data_{0}", _graphHashStr); FavoritesLatentPath = Path.Combine(DataDir, "favorite_latents.csv"); AdvancedAttributesPath = Path.Combine(DataDir, "advanced_attributes.csv"); CustomAttributesPath = Path.Combine(DataDir, "custom_attributes.csv"); FavoriteAttributesPath = Path.Combine(DataDir, "favorite_attributes.csv"); LatentCsvPath = Path.Combine(DataDir, "latents.csv"); AttributesCsvPath = Path.Combine(DataDir, "attributes.csv"); AverageLatentCsvPath = Path.Combine(DataDir, "average_latent.csv"); currentFmaps = new List<List<float[,]>>(); }