📄 backpropagationpanel.java
字号:
errorPanel = new JPanel(); errorPanel.setLayout(new BorderLayout()); errorPanel.add(errorLabel, BorderLayout.NORTH); errorPanel.add(errorSpinner, BorderLayout.CENTER); stopConditionPanel = new JPanel(); stopConditionPanel.setLayout(new GridBagLayout()); stopConditionPanel.add(maxEpochsPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL, borderInsets, 67, 0)); stopConditionPanel.add(errorPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL, borderInsets, 67, 0)); stopConditionPanel.setBorder(new TitledBorder(resource .getString("stopCondition"))); lrMultiplierLabel = new JLabel(resource.getString("lrMultiplier")); lrMultiplierSpinnerModel = new SpinnerNumberModel(10, 1e-30, 1e10, 0.001); lrMultiplierSpinner = new JSpinner(lrMultiplierSpinnerModel); lrMultiplierPanel = new JPanel(); lrMultiplierPanel.setLayout(new BorderLayout()); lrMultiplierPanel.add(lrMultiplierLabel, BorderLayout.NORTH); lrMultiplierPanel.add(lrMultiplierSpinner, BorderLayout.CENTER); learningRateLabel = new JLabel(resource.getString("learningRate")); learningRateSpinnerModel = new SpinnerNumberModel(0.3, 1e-30, 1, 0.001); learningRateSpinner = new JSpinner(learningRateSpinnerModel); learningRatePanel = new JPanel(); learningRatePanel.setLayout(new BorderLayout()); learningRatePanel.add(learningRateLabel, BorderLayout.NORTH); learningRatePanel.add(learningRateSpinner, BorderLayout.CENTER); alphaLabel = new JLabel(resource.getString("alpha")); alphaSpinnerModel = new SpinnerNumberModel(0.2, 1e-30, 1, 0.001); alphaSpinner = new JSpinner(alphaSpinnerModel); alphaPanel = new JPanel(); alphaPanel.setLayout(new BorderLayout()); alphaPanel.add(alphaLabel, BorderLayout.NORTH); alphaPanel.add(alphaSpinner, BorderLayout.CENTER); backPropagationParametersPanel = new JPanel(); backPropagationParametersPanel.setLayout(new GridBagLayout()); backPropagationParametersPanel.add(lrMultiplierPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL, borderInsets, 67, 0)); backPropagationParametersPanel.add(learningRatePanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL, borderInsets, 67, 0)); backPropagationParametersPanel.add(alphaPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL, borderInsets, 67, 0)); backPropagationParametersPanel.setBorder(new TitledBorder(resource .getString("backPropagationParameters"))); this.setLayout(new GridBagLayout()); this.add(backPropagationVariationPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, borderInsets, 67, 0)); this.add(stopConditionPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, borderInsets, 67, 0)); this.add(backPropagationParametersPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, borderInsets, 67, 0)); } //GaussNewtonPanel() /* * @see neuralnetworktoolkit.gui.options.method.TrainingMethodPanel#initializeComponents(boolean) */ public void initializeComponents(boolean verify) { BackPropagationParameters bpParameters; if(verify) { bpParameters = (BackPropagationParameters) parameters; if (bpParameters.getMethod().equals(methods[0])) { backPropagationVariationGroup.setSelected( batchRadio.getModel(), true); setBackpropagationParametersEnabled(LEARNING_RATE_ENABLED); } else if (bpParameters.getMethod().equals(methods[1])) { backPropagationVariationGroup.setSelected( batchAdaptiveLearningRateRadio.getModel(), true); setBackpropagationParametersEnabled(ALL_ENABLED); } else if (bpParameters.getMethod().equals(methods[2])) { backPropagationVariationGroup.setSelected(batchMomentumRadio .getModel(), true); setBackpropagationParametersEnabled(MULTIPLIER_DISABLED); } else if (bpParameters.getMethod().equals(methods[3])) { backPropagationVariationGroup.setSelected(onLineRadio .getModel(), true); setBackpropagationParametersEnabled(LEARNING_RATE_ENABLED); } else if (bpParameters.getMethod().equals(methods[4])) { backPropagationVariationGroup.setSelected( onLineAdaptiveLearningRadio.getModel(), true); setBackpropagationParametersEnabled(ALL_ENABLED); } else if (bpParameters.getMethod().equals(methods[5])) { backPropagationVariationGroup.setSelected(onLineMomentumRadio .getModel(), true); setBackpropagationParametersEnabled(MULTIPLIER_DISABLED); } errorSpinner.setValue(new Double(bpParameters.getError())); maxEpochsSpinner.setValue(new Integer(bpParameters.getMaxEpochs())); lrMultiplierSpinner.setValue(new Double(bpParameters .getLrMultiplier())); learningRateSpinner.setValue(new Double(bpParameters .getLearningRate())); alphaSpinner.setValue(new Double(bpParameters.getAlpha())); } } //initializeComponents() /** * @return Returns the parameters. */ public TrainingParameters getParameters() { BackPropagationParameters bpParameters; bpParameters = (BackPropagationParameters) parameters; if(batchRadio.isSelected()) { bpParameters.setMethod(methods[0]); } else if(batchAdaptiveLearningRateRadio.isSelected()) { bpParameters.setMethod(methods[1]); } else if(batchMomentumRadio.isSelected()) { bpParameters.setMethod(methods[2]); } else if(onLineRadio.isSelected()) { bpParameters.setMethod(methods[3]); } else if(onLineAdaptiveLearningRadio.isSelected()) { bpParameters.setMethod(methods[4]); } else if(onLineMomentumRadio.isSelected()) { bpParameters.setMethod(methods[5]); } bpParameters.setError(((Double) errorSpinner.getValue()).doubleValue()); bpParameters.setMaxEpochs(((Integer) maxEpochsSpinner.getValue()) .intValue()); bpParameters.setLearningRate(((Double) learningRateSpinner.getValue()) .doubleValue()); bpParameters.setAlpha(((Double) alphaSpinner.getValue()).doubleValue()); bpParameters.setLrMultiplier(((Double) lrMultiplierSpinner.getValue()) .doubleValue()); return bpParameters; } //getParameters() /** * * @param type */ private void setBackpropagationParametersEnabled(int type) { switch (type) { case ALL_ENABLED: { lrMultiplierSpinner.setEnabled(true); learningRateSpinner.setEnabled(true); alphaSpinner.setEnabled(true); } break; case LEARNING_RATE_ENABLED: { lrMultiplierSpinner.setEnabled(false); learningRateSpinner.setEnabled(true); alphaSpinner.setEnabled(false); } break; case MULTIPLIER_DISABLED: { lrMultiplierSpinner.setEnabled(false); learningRateSpinner.setEnabled(true); alphaSpinner.setEnabled(true); } break; default: { lrMultiplierSpinner.setEnabled(true); learningRateSpinner.setEnabled(true); alphaSpinner.setEnabled(true); } break; } } //setBackpropagationParametersEnabled()} //BackPropagationPanel
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -