/// <summary> /// 初始化负载 /// </summary> /// <param name="num">总的加载几个</param> public static void Ini(int num) { aiServerConfigs = new List <AiServerConfig>(); for (int i = 1; i <= num; i++) { GC.Collect(); Thread.Sleep(100); GC.Collect(); Thread.Sleep(100); IntPtr configurationFile = Marshal.StringToHGlobalAnsi(INIHelper.Read("AiPars" + i, "configurationFile", Application.StartupPath + "/config.ini").Replace("\\\\", "\\").Replace("\\", "/")); IntPtr weightsFile = Marshal.StringToHGlobalAnsi(INIHelper.Read("AiPars" + i, "weightsFile", Application.StartupPath + "/config.ini").Replace("\\\\", "\\").Replace("\\", "/")); int gpuID = INIHelper.ReadInteger("AiPars" + i, "gpuID", 0, Application.StartupPath + "/config.ini"); string namesFile = INIHelper.Read("AiPars" + i, "names", Application.StartupPath + "/config.ini"); GC.Collect(); Thread.Sleep(100); AiServerConfig aiServerConfig = new AiServerConfig { AiId = i, Weight = 5 }; switch (i) { case 1: AiSdk1.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk1.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk1.names; break; case 2: AiSdk2.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk2.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk2.names; break; case 3: AiSdk3.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk3.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk3.names; break; case 4: AiSdk4.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk4.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk4.names; break; case 5: AiSdk5.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk5.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk5.names; break; case 6: AiSdk6.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk6.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk6.names; break; case 7: AiSdk7.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk7.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk7.names; break; case 8: AiSdk8.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk8.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk8.names; break; case 9: AiSdk9.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk9.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk9.names; break; case 10: AiSdk10.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk10.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk10.names; break; case 11: AiSdk11.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk11.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk11.names; break; case 12: AiSdk12.init(configurationFile, weightsFile, gpuID); using (StreamReader sr = new StreamReader(namesFile)) { while (!sr.EndOfStream) { AiSdk12.names.Add(sr.ReadLine()); } } aiServerConfig.names = AiSdk12.names; break; } aiServerConfigs.Add(aiServerConfig); } ; }