protected bool SetupTestData(string test) { var text = test.Trim(); if (string.IsNullOrEmpty(text)) { return(false); } var TestBuffer = new TextBuffer(new TextTagTable()) { Text = text }; Samples.Value = Convert.ToDouble(TestBuffer.LineCount, ci); var inpx = Convert.ToInt32(InputLayerNodes.Value, ci); var tsty = Convert.ToInt32(Samples.Value, ci); ManagedOps.Free(TestData); TestData = new ManagedArray(inpx, tsty); var current = DelimiterBox.Active; var delimiter = current >= 0 && current < Delimiters.Count ? Delimiters[current].Character : '\t'; var inputs = inpx; using (var reader = new StringReader(TestBuffer.Text)) { for (int y = 0; y < tsty; y++) { var line = reader.ReadLine(); if (!string.IsNullOrEmpty(line)) { var tokens = line.Split(delimiter); if (inputs > 0 && tokens.Length >= inpx) { for (int x = 0; x < inpx; x++) { TestData[x, y] = SafeConvert.ToDouble(tokens[x]); } } } } } NormalizeData(TestData, NormalizationData); UpdateTextView(ViewNormalization, NormalizationData); return(true); }
protected bool SetupInputLayerWeights(string inputlayer) { var text = inputlayer.Trim(); if (string.IsNullOrEmpty(text)) { return(false); } var InputLayerBuffer = new TextBuffer(new TextTagTable()) { Text = text }; var inpx = Convert.ToInt32(InputLayerNodes.Value, ci) + 1; var inpy = Convert.ToInt32(HiddenLayerNodes.Value, ci); if (inpx < 2 || inpy < 2 || inpy != InputLayerBuffer.LineCount) { return(false); } ManagedOps.Free(Network.Wji); Network.Wji = new ManagedArray(inpx, inpy); var current = DelimiterBox.Active; var delimiter = current >= 0 && current < Delimiters.Count ? Delimiters[current].Character : '\t'; using (var reader = new StringReader(InputLayerBuffer.Text)) { for (int y = 0; y < inpy; y++) { var line = reader.ReadLine(); if (line != null) { var tokens = line.Split(delimiter); for (int x = 0; x < inpx; x++) { if (x < tokens.Length) { Network.Wji[x, y] = SafeConvert.ToDouble(tokens[x]); } } } } } return(true); }
protected bool SetupNormalization(string normalization) { var text = normalization.Trim(); if (string.IsNullOrEmpty(text)) { return(false); } var NormalizationBuffer = new TextBuffer(new TextTagTable()) { Text = text }; var nrmx = Convert.ToInt32(InputLayerNodes.Value, ci); var nrmy = 2; if (nrmx < 2 || nrmy < 2 || NormalizationBuffer.LineCount < nrmy) { return(false); } ManagedOps.Free(NormalizationData); NormalizationData = new ManagedArray(nrmx, nrmy); var current = DelimiterBox.Active; var delimiter = current >= 0 && current < Delimiters.Count ? Delimiters[current].Character : '\t'; using (var reader = new StringReader(NormalizationBuffer.Text)) { for (int y = 0; y < nrmy; y++) { var line = reader.ReadLine(); if (line != null) { var tokens = line.Split(delimiter); for (int x = 0; x < nrmx; x++) { if (x < tokens.Length) { NormalizationData[x, y] = SafeConvert.ToDouble(tokens[x]); } } } } } return(true); }
protected bool SetupHiddenLayerWeights(string hiddenLayer) { var text = hiddenLayer.Trim(); if (string.IsNullOrEmpty(text)) { return(false); } var HiddenLayerBuffer = new TextBuffer(new TextTagTable()) { Text = text }; var hidx = Convert.ToInt32(HiddenLayerNodes.Value, ci) + 1; var hidy = Convert.ToInt32(Categories.Value, ci); if (hidx < 2 || hidy < 1 || hidy != HiddenLayerBuffer.LineCount) { return(false); } ManagedOps.Free(Network.Wkj); Network.Wkj = new ManagedArray(hidx, hidy); var current = DelimiterBox.Active; var delimiter = current >= 0 && current < Delimiters.Count ? Delimiters[current].Character : '\t'; using (var reader = new StringReader(HiddenLayerBuffer.Text)) { for (int y = 0; y < hidy; y++) { var line = reader.ReadLine(); if (line != null) { var tokens = line.Split(delimiter); for (int x = 0; x < hidx; x++) { if (x < tokens.Length) { Network.Wkj[x, y] = SafeConvert.ToDouble(tokens[x]); } } } } } return(true); }
protected bool SetupInputData(string training) { var text = training.Trim(); if (string.IsNullOrEmpty(text)) { return(false); } var TrainingBuffer = new TextBuffer(new TextTagTable()) { Text = text }; Examples.Value = Convert.ToDouble(TrainingBuffer.LineCount, ci); var inpx = Convert.ToInt32(InputLayerNodes.Value, ci); var inpy = Convert.ToInt32(Examples.Value, ci); ManagedOps.Free(InputData, OutputData, NormalizationData); InputData = new ManagedArray(inpx, inpy); NormalizationData = new ManagedArray(inpx, 2); OutputData = new ManagedArray(1, inpy); int min = 0; int max = 1; for (int x = 0; x < inpx; x++) { NormalizationData[x, min] = double.MaxValue; NormalizationData[x, max] = double.MinValue; } var current = DelimiterBox.Active; var delimiter = current >= 0 && current < Delimiters.Count ? Delimiters[current].Character : '\t'; var inputs = inpx; using (var reader = new StringReader(TrainingBuffer.Text)) { for (int y = 0; y < inpy; y++) { var line = reader.ReadLine(); if (!string.IsNullOrEmpty(line)) { var tokens = line.Split(delimiter); if (inputs > 0 && tokens.Length > inputs) { OutputData[0, y] = SafeConvert.ToDouble(tokens[inputs]); for (int x = 0; x < inpx; x++) { var data = SafeConvert.ToDouble(tokens[x]); NormalizationData[x, min] = data < NormalizationData[x, min] ? data : NormalizationData[x, min]; NormalizationData[x, max] = data > NormalizationData[x, max] ? data : NormalizationData[x, max]; InputData[x, y] = data; } } } } } NormalizeData(InputData, NormalizationData); UpdateTextView(Normalization, NormalizationData); return(true); }
public string addFirstCheck(AddFirstCheckRequest param) { string message = ""; Dictionary <string, string> dict = new Dictionary <string, string>(); dict.Add("PN", "SJ" + param.snOrderList[0].OrderID); DateTime now = SSGlobalConfig.Now; CV_QM_FIRSTCHECK_SN snOrder = param.snOrderList[0]; //先获得首检检验项 string SubBopID = null; if (snOrder.Step == "装配" || snOrder.Step == "检定" || snOrder.Step == "包装") { //查询step是否为包装或者装配,若是,则查询需加上subbopid SubBopID = snOrder.Step; } IList <CV_QM_PROCESSITEM> processItemList = _ICV_QM_PROCESSITEMBO.GetEntitiesByOrderID(snOrder.OrderID, "1", SubBopID);//首检InspectSource = 1 if (processItemList.Count() == 0) { message = "NG,无首检检验项信息"; } else { QM_PROCESS_TOP top = new QM_PROCESS_TOP() { Source = 1, SequenceStatus = "待检", SapOrderID = snOrder.SalesOrderID, //SAP订单 WorkOrderID = snOrder.OrderID, //MES工单 MinSampleSize = param.minSampleSize, //最小抽样数量 SampleQua = param.snOrderList.Count, //抽样数量 MaterielID = snOrder.DefID, //物料编码 MaterielVer = snOrder.DefVer, //物料版本 MaterielDescript = snOrder.DefDescript, //物料描述 PlantID = snOrder.PlanPlant, //工厂ID Plant = snOrder.PlantName, //工厂名称 Step = snOrder.Step, //工序 Workshop = snOrder.DepartID, //车间 LineID = snOrder.LineID, //产线ID ProdLine = snOrder.LineName, //产线名称 CreateBy = param.user, //创建者 CreateTime = now //创建时间 }; using (TransactionScope ts = new TransactionScope()) { top.Sequence = createCode("FirstInspectRule", dict);//首检单号 //创建首检单 _IQM_PROCESS_TOPBO.Insert(top); //获得刚创建的首检单 QM_PROCESS_TOP_QueryParam topParam = new QM_PROCESS_TOP_QueryParam() { Source = 1, Sequence = top.Sequence }; //查询KID top = _IQM_PROCESS_TOPBO.GetEntitiesByQueryParam(topParam)[0]; foreach (CV_QM_FIRSTCHECK_SN tmp in param.snOrderList) { QM_PROCESS_MIDDLE middle = new QM_PROCESS_MIDDLE() { KID = top.KID, Sequence = top.Sequence, SN = tmp.LotID, SNStatus = "待检" }; _IQM_PROCESS_MIDDLEBO.Insert(middle); } //查询KLID IList <QM_PROCESS_MIDDLE> middleList = _IQM_PROCESS_MIDDLEBO.GetByKid(top.KID.Value); //操作底表 foreach (QM_PROCESS_MIDDLE middleTmp in middleList) { foreach (CV_QM_PROCESSITEM item in processItemList) { QM_PROCESS_BOTTOM bottom = new QM_PROCESS_BOTTOM() { KLID = middleTmp.KLID, Sequence = middleTmp.Sequence, SN = middleTmp.SN, MaterielID = top.MaterielID, ItemIndex = item.InforDetailID, Item = item.InspectItemDes, ItemStatus = "待检", ItemProperty = item.InspectItemProperty.Equals("2") ? "定量" : "定性", }; if (!string.IsNullOrEmpty(item.TargetValue)) { bottom.Target = SafeConvert.ToDouble(item.TargetValue); } if (!string.IsNullOrEmpty(item.UpperLimit)) { bottom.UpperBound = SafeConvert.ToDouble(item.UpperLimit); } if (!string.IsNullOrEmpty(item.LowerLimit)) { bottom.LowerBound = SafeConvert.ToDouble(item.LowerLimit); } _IQM_PROCESS_BOTTOMBO.Insert(bottom); } } //创建预警信息 string cmd_altsql = string.Format(CultureInfo.InvariantCulture, firstAltSql, top.ProdLine, top.WorkOrderID, top.Sequence); DataTable dt = bscbo.GetDataTableBySql(cmd_altsql); if (dt.Rows.Count > 0) { //开始推送 PM_ALT_MESSAGE msg = alt_messagebo.GetEntity(SafeConvert.ToInt64(dt.Rows[0]["MsgPK"].ToString())); if (alt_bscbo.ExecuteNotify(msg)) { message = top.Sequence; ts.Complete(); } else { message = "NG,推送失败,请重新提交.."; } } } } return(message); }