Ejemplo n.º 1
0
    public SharpML(MACHINE_TYPE t, string path)
    {
        LoadModel(path);

        // create new
        type = t;
        switch (type)
        {
        case MACHINE_TYPE.PLAYER:
            learner = null;
            break;

        case MACHINE_TYPE.DECISION_TREE:
            learner = new RegressionDecisionTreeLearner();
            break;

        case MACHINE_TYPE.RANDOM_FOREST:
            learner = new RegressionRandomForestLearner();
            break;

        case MACHINE_TYPE.EXTRA_TREES:
            learner = new RegressionExtremelyRandomizedTreesLearner();
            break;


        case MACHINE_TYPE.ADABOOST:
            learner = new RegressionAdaBoostLearner();
            break;

        case MACHINE_TYPE.GRAD_SQUARE:
            learner = new RegressionSquareLossGradientBoostLearner();
            break;

        case MACHINE_TYPE.GRAD_ABSOLUTE:
            learner = new RegressionAbsoluteLossGradientBoostLearner();
            break;

        case MACHINE_TYPE.GRAD_HUBER:
            learner = new RegressionHuberLossGradientBoostLearner();
            break;

        case MACHINE_TYPE.GRAD_QUANTILE:
            learner = new RegressionQuantileLossGradientBoostLearner();
            break;

        case MACHINE_TYPE.NEURAL_NETWORK:
            NeuralNet net = new NeuralNet();
            net.Add(new InputLayer(inputUnits: 4));
            net.Add(new DenseLayer(9, Activation.Relu));
            net.Add(new DenseLayer(9, Activation.Relu));
            net.Add(new SquaredErrorRegressionLayer());
            learner = new RegressionNeuralNetLearner(net
                                                     , loss: new SquareLoss()
                                                     , iterations: 100
                                                     , learningRate: 0.002
                                                     , batchSize: 128
                                                     );
            break;
        }
    }
        public FrmEdtMachineType(Int64 id)
        {
            InitializeComponent();
            _id = id;
            db = new Database("XE");

            vALUECODEBindingSource.DataSource = db.Fetch<VALUE_GROUP>("where FATHERID = @0", 15);
            //vALUECODEBindingSource1.DataSource = db.Fetch<VALUE_CODE>("where groupName = @0", 3);

            ConditionValidationRule ruleNoEmpty = new ConditionValidationRule();
            ruleNoEmpty.ConditionOperator = ConditionOperator.IsNotBlank;
            ruleNoEmpty.ErrorText = "该项不能为空。";
            dxValidationProvider1.SetValidationRule(MODELTextEdit, ruleNoEmpty);
            dxValidationProvider1.SetValidationRule(M_TYPELookUpEdit, ruleNoEmpty);

            diag = db.Single<MACHINE_TYPE>(_id);
            mACHINETYPEBindingSource.DataSource = diag;
        }
        private void SaveData()
        {
            mACHINETYPEBindingSource.EndEdit();
            mACHINETYPEBindingSource.CurrencyManager.EndCurrentEdit();

            List<MACHINE_TYPE> lst = db.Fetch<MACHINE_TYPE>("where M_TYPE = @0 and  MODEL = @1", new object[] { diag.M_TYPE, diag.MODEL });
            if(lst !=null && lst.Count > 0)
                throw new Exception ("该类型以及该型号的设备已经配置有图片, 请确认.");

            db.Insert(diag);
            if (NewRegistEvt != null)
                NewRegistEvt();

            diag = new MACHINE_TYPE();
            mACHINETYPEBindingSource.DataSource = diag;
        }