📄 mlppanel.java
字号:
initializationNames[0] = resource.getString("nguyen"); initializationNames[1] = resource.getString("randomic"); initializationCombo = new JComboBox(initializationNames); initializationPanel = new JPanel(); initializationPanel.setLayout(new GridBagLayout()); initializationPanel.add(initializationCombo, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.VERTICAL, borderInsets, 67, 0)); initializationPanel.setBorder(new TitledBorder(resource .getString("initialization"))); // Main panel composition this.setLayout(new GridBagLayout()); this.add(internalLayersPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, borderInsets, 67, 0)); this.add(outputLayerPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, borderInsets, 67, 0)); this.add(initializationPanel, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, borderInsets, 67, 0)); } //MLPFrame() /** * */ public void initializeComponents(boolean verify) { String layerName; MLPParameters mlpParameters; Vector internalLayersNames; mlpParameters = (MLPParameters) parameters; internalLayersNames = new Vector(); if (parameters != null) { if (mlpParameters.getActivationFunctions() != null && mlpParameters.getNeurons() != null) { if (verify) { for (int i = 0; i < mlpParameters.getActivationFunctions().length - 1; i++) { internalLayersActivationFunctions .addElement(mlpParameters .getActivationFunctions()[i]); } for (int i = 1; i < mlpParameters.getNeurons().length - 1; i++) { internalLayersNeurons.addElement(new Integer( mlpParameters.getNeurons()[i])); } outputLayerActivationFunctionCombo .setSelectedIndex(activationFunctionIndex(mlpParameters .getActivationFunctions()[mlpParameters .getActivationFunctions().length - 1])); outputLayerNeuronsSpinner.setValue(new Integer( mlpParameters.getNeurons()[mlpParameters .getNeurons().length - 1])); initializationCombo .setSelectedIndex(initializationIndex(mlpParameters .getInitializationName())); } for (int i = 0; i < internalLayersNeurons.size(); i++) { layerName = resource.getString("layer") + " " + (i + 1) + " > " + resource.getString("activationFunction") + ": " + activationFunctionsNames[activationFunctionIndex((String) internalLayersActivationFunctions .elementAt(i))] + " - " + resource.getString("neurons") + ": " + internalLayersNeurons.elementAt(i); internalLayersNames.add(layerName); } } } internalLayersList.setListData(internalLayersNames); internalLayersList.updateUI(); } //initializeContainers() /** * * @return */ public ArchitectureParameters getParameters() { MLPParameters mlpParameters; mlpParameters = (MLPParameters) parameters; mlpParameters.configureLayers(internalLayersActivationFunctions, internalLayersNeurons, activationFunctions[outputLayerActivationFunctionCombo .getSelectedIndex()], ((Integer) outputLayerNeuronsSpinner.getValue()).intValue()); mlpParameters.setInitializationName(initialization[initializationCombo .getSelectedIndex()]); return mlpParameters; } //getParameters() /** * * @param activationFunction * @return */ private int activationFunctionIndex(String activationFunction) { int index = 0; for(int i = 0; i < activationFunctions.length; i++) { if(activationFunction.equals(activationFunctions[i])) { index = i; break; } } return index; } //activationFunctionIndex() /** * * @param initialization * @return */ private int initializationIndex(String initialization) { int index = 0; for(int i = 0; i < this.initialization.length; i++) { if(initialization.equals(this.initialization[i])) { index = i; break; } } return index; } //initializationIndex() /** * */ public class AddLayerButtonActionListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { String layerName; int listSelection; int selection; int neurons; listSelection = internalLayersList.getSelectedIndex(); if (listSelection < 0) { listSelection = internalLayersActivationFunctions.size(); } else { listSelection++; } selection = internalLayersActivationFunctionCombo .getSelectedIndex(); if (selection == -1) { JOptionPane.showMessageDialog(null, resource .getString("inputLayerFunctionError"), resource .getString("nntk"), JOptionPane.ERROR_MESSAGE); } else { neurons = ((Integer) internalLayersNeuronsSpinner.getValue()) .intValue(); if (neurons < 1) { JOptionPane.showMessageDialog(null, resource .getString("inputLayerNeuronsError"), resource .getString("nntk"), JOptionPane.ERROR_MESSAGE); } else { internalLayersActivationFunctions.add(listSelection, activationFunctions[selection]); internalLayersNeurons.add(listSelection, new Integer( neurons)); initializeComponents(false); } } if ((internalLayersActivationFunctions.size() > 0)) { removeLayerButton.setEnabled(true); } } //actionPerformed() } //AddLayerButtonActionListener /** * */ public class RemoveLayerButtonActionListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { int selection; selection = internalLayersList.getSelectedIndex(); if ((selection < 0) || (selection >= internalLayersActivationFunctions.size()) || (internalLayersActivationFunctions.size() == 0)) { JOptionPane.showMessageDialog(null, resource .getString("layerSelectionError"), resource .getString("nntk"), JOptionPane.ERROR_MESSAGE); } else { internalLayersActivationFunctions.remove(selection); internalLayersNeurons.remove(selection); initializeComponents(false); } if ((internalLayersActivationFunctions.size() == 0)) { removeLayerButton.setEnabled(false); } } //actionPerformed() } //RemoveLayerButtonActionListener } //MLPFrame
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -