public EyeGazeModelRecorder(string session, Size screenSize) { SessionName = session; ScreenSize = screenSize; DirectoryNode node = Storage.Root.GetDirectory($"[{DateTime.Now.ToString()}] {session}"); Storage.FixPathChars(node); if (!node.IsExist) { node.Create(); } Parent = node; FileNode file = node.GetFile("model.txt"); if (file.IsExist) { file.Delete(); } file.Create(); using (Stream s = file.Open()) { using (StreamWriter write = new StreamWriter(s)) { write.WriteLine($"scr:{screenSize.Width},{screenSize.Height}"); write.Flush(); } } }
public void Load() { Logger.Log("Download model"); FileNode f = Storage.Root.GetFile("inception5h.zip"); DirectoryNode dir = Storage.Root.GetDirectory("Inception5h"); if (!f.IsExist) { f.Create(); string webPath = "https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip"; using (HttpClient hc = new HttpClient()) { byte[] buffer = hc.GetByteArrayAsync(webPath).Result; f.WriteBytes(buffer); } if (!dir.IsExist) { dir.Create(); } else { FileNode[] files = dir.GetFiles(); if (files != null) { foreach (FileNode existsfile in files) { existsfile.Delete(); } } } } Logger.Log("Finish download model"); FileNode graphfile = dir.GetFile("tensorflow_inception_graph.pb"); FileNode indexfile = dir.GetFile("imagenet_comp_graph_label_strings.txt"); if (!graphfile.IsExist || !indexfile.IsExist) { Storage.UnZip(f, dir); } Logger.Log("Load graph"); if (graph == null) { graph = new Graph(); graph.ImportPb(graphfile); Logger.Log("Graph load finished"); } else { Logger.Log("Graph is loaded"); } Logger.Log("Load Index File"); if (resultTag == null) { resultTag = indexfile.ReadLines(); Logger.Log($"{resultTag.Length} Counts indexes are loaded"); } else { Logger.Log("Index file already loaded"); } sess = new Session(graph); }