⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mlppanel.java

📁 利用Java实现的神经网络工具箱
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * $RCSfile: MLPPanel.java,v $ * $Revision: 1.7 $ * $Date: 2005/05/09 15:59:31 $ * * NeuralNetworkToolkit * Copyright (C) 2004 Universidade de Brasília * * This file is part of NeuralNetworkToolkit. * * NeuralNetworkToolkit is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * NeuralNetworkToolkit is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NeuralNetworkToolkit; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 - USA. */package neuralnetworktoolkit.gui.options.architecture;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import neuralnetworktoolkit.architectures.ArchitectureParameters;import neuralnetworktoolkit.architectures.mlp.MLPParameters;/** *  */public class MLPPanel extends ArchitecturePanel {	private static final String ACTIVATION_FUNCTION = "activationFunction";	private static final String NEURONS = "neurons";	private static final String INTERNAL_LAYERS = "internalLayers";	private static final String OUTPUT_LAYER = "outputLayer";		private JLabel activationFunctionLabel;	private JLabel neuronsLabel;	private JList internalLayersList;	private JComboBox internalLayersActivationFunctionCombo;	private JComboBox outputLayerActivationFunctionCombo;	private JComboBox initializationCombo;	private JSpinner internalLayersNeuronsSpinner;	private JSpinner outputLayerNeuronsSpinner;	private SpinnerNumberModel internalLayersNeuronsSpinnerModel;	private SpinnerNumberModel outputLayerNeuronsSpinnerModel;	private JButton addLayerButton;	private JButton removeLayerButton;	private JScrollPane internalLayersListScroll;	private JPanel internalLayersPanel;	private JPanel internalLayersListPanel;	private JToolBar internalLayersListButtonsBar;	private JPanel internalLayersActivationFunctionPanel;	private JPanel internalLayersNeuronsPanel;	private JPanel internalLayersOptionsPanel;	private JPanel outputLayerPanel;	private JPanel outputLayerActivationFunctionPanel;	private JPanel outputLayerNeuronsPanel;	private JPanel initializationPanel;	private Insets borderInsets;		private String[] activationFunctions = {"Exp", "Logistic", "Sin", "Step",			"Tanh", "X", "Xcube", "Xsquare"};	private String[] activationFunctionsNames;	private String[] initialization = { "NguyenWidrow",			"RandomicInitialization" };	private String[] initializationNames;	private Vector internalLayersActivationFunctions;	private Vector internalLayersNeurons;		private String outputLayerActivationFunction;	private int outputLayerNeurons;		private ResourceBundle resource;	private ResourceBundle iconsResource;		/**	 * 	 *	 */	public MLPPanel() {		resource = ResourceBundle				.getBundle("neuralnetworktoolkit.gui.options.architecture.resources.MLPPanelResource");		iconsResource = ResourceBundle				.getBundle("neuralnetworktoolkit.gui.resources.IconsResource");		activationFunctionsNames = new String[activationFunctions.length];		activationFunctionsNames[0] = resource.getString("exp");		activationFunctionsNames[1] = resource.getString("logistic");		activationFunctionsNames[2] = resource.getString("sin");		activationFunctionsNames[3] = resource.getString("step");		activationFunctionsNames[4] = resource.getString("tanh");		activationFunctionsNames[5] = resource.getString("x");		activationFunctionsNames[6] = resource.getString("xcube");		activationFunctionsNames[7] = resource.getString("xsquare");		internalLayersActivationFunctions = new Vector();		internalLayersNeurons = new Vector();		borderInsets = new Insets(5, 5, 5, 5);		// Internal layers panel setup		internalLayersList = new JList();		internalLayersList				.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);		internalLayersListScroll = new JScrollPane(internalLayersList);		internalLayersListScroll.setBorder(new EmptyBorder(2, 2, 2, 2));		addLayerButton = new JButton();		addLayerButton.setIcon((ImageIcon) iconsResource				.getObject("stock_add24"));		addLayerButton.setToolTipText(resource				.getString("addLayerButtonToolTip"));		addLayerButton.addActionListener(new AddLayerButtonActionListener());		addLayerButton.setEnabled(false);		removeLayerButton = new JButton();		removeLayerButton.setIcon((ImageIcon) iconsResource				.getObject("stock_remove24"));		removeLayerButton.setToolTipText(resource				.getString("removeLayerButtonToolTip"));		removeLayerButton				.addActionListener(new RemoveLayerButtonActionListener());		internalLayersListButtonsBar = new JToolBar();		internalLayersListButtonsBar.add(addLayerButton);		internalLayersListButtonsBar.add(removeLayerButton);		internalLayersListButtonsBar.setOrientation(JToolBar.VERTICAL);		internalLayersListButtonsBar.setBorder(new EmptyBorder(2, 2, 2, 2));		internalLayersListPanel = new JPanel();		internalLayersListPanel.setLayout(new BorderLayout());		internalLayersListPanel.add(internalLayersListScroll,				BorderLayout.CENTER);		internalLayersListPanel.add(internalLayersListButtonsBar,				BorderLayout.EAST);		internalLayersListPanel.setBorder(new EmptyBorder(borderInsets));		activationFunctionLabel = new JLabel(resource				.getString(ACTIVATION_FUNCTION));		internalLayersActivationFunctionCombo = new JComboBox(				activationFunctionsNames);		internalLayersActivationFunctionCombo.setEditable(false);		internalLayersActivationFunctionCombo.setSelectedIndex(-1);		internalLayersActivationFunctionCombo				.addActionListener(new ActionListener() {					public void actionPerformed(ActionEvent e) {						addLayerButton.setEnabled(true);					}				});		internalLayersActivationFunctionPanel = new JPanel();		internalLayersActivationFunctionPanel.setLayout(new BorderLayout());		internalLayersActivationFunctionPanel.add(activationFunctionLabel,				BorderLayout.NORTH);		internalLayersActivationFunctionPanel.add(				internalLayersActivationFunctionCombo, BorderLayout.CENTER);		internalLayersActivationFunctionPanel.setBorder(new EmptyBorder(				borderInsets));		neuronsLabel = new JLabel(resource.getString(NEURONS));		internalLayersNeuronsSpinnerModel = new SpinnerNumberModel(1, 1,				Integer.MAX_VALUE, 1);		internalLayersNeuronsSpinner = new JSpinner();		internalLayersNeuronsSpinner				.setModel(internalLayersNeuronsSpinnerModel);		internalLayersNeuronsPanel = new JPanel();		internalLayersNeuronsPanel.setLayout(new BorderLayout());		internalLayersNeuronsPanel.add(neuronsLabel, BorderLayout.NORTH);		internalLayersNeuronsPanel.add(internalLayersNeuronsSpinner,				BorderLayout.CENTER);		internalLayersNeuronsPanel.setBorder(new EmptyBorder(borderInsets));		internalLayersOptionsPanel = new JPanel();		internalLayersOptionsPanel.setLayout(new GridBagLayout());				internalLayersOptionsPanel.add(internalLayersActivationFunctionPanel,				new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0,						GridBagConstraints.CENTER,						GridBagConstraints.VERTICAL, borderInsets,						67, 0));		internalLayersOptionsPanel.add(internalLayersNeuronsPanel,				new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0,						GridBagConstraints.CENTER,						GridBagConstraints.VERTICAL, borderInsets,						67, 0));		internalLayersPanel = new JPanel();		internalLayersPanel.setLayout(new BorderLayout());		internalLayersPanel.add(internalLayersOptionsPanel, BorderLayout.NORTH);		internalLayersPanel.add(internalLayersListPanel, BorderLayout.CENTER);		internalLayersPanel.setBorder(new TitledBorder(resource				.getString(INTERNAL_LAYERS)));				// Output layer panel setup		activationFunctionLabel = new JLabel(resource				.getString(ACTIVATION_FUNCTION));		outputLayerActivationFunctionCombo = new JComboBox(				activationFunctionsNames);		outputLayerActivationFunctionCombo.setEditable(false);		outputLayerActivationFunctionPanel = new JPanel();		outputLayerActivationFunctionPanel.setLayout(new BorderLayout());		outputLayerActivationFunctionPanel.add(activationFunctionLabel,				BorderLayout.NORTH);		outputLayerActivationFunctionPanel.add(				outputLayerActivationFunctionCombo, BorderLayout.CENTER);		outputLayerActivationFunctionPanel.setBorder(new EmptyBorder(				borderInsets));		neuronsLabel = new JLabel(resource.getString(NEURONS));		outputLayerNeuronsSpinner = new JSpinner();		outputLayerNeuronsSpinnerModel = new SpinnerNumberModel(1, 1,				Integer.MAX_VALUE, 1);		outputLayerNeuronsSpinner.setModel(outputLayerNeuronsSpinnerModel);		outputLayerNeuronsSpinner.setEnabled(false);		outputLayerNeuronsPanel = new JPanel();		outputLayerNeuronsPanel.setLayout(new BorderLayout());		outputLayerNeuronsPanel.add(neuronsLabel, BorderLayout.NORTH);		outputLayerNeuronsPanel.add(outputLayerNeuronsSpinner,				BorderLayout.CENTER);		outputLayerNeuronsPanel.setBorder(new EmptyBorder(borderInsets));		outputLayerPanel = new JPanel();		outputLayerPanel.setLayout(new GridBagLayout());		outputLayerPanel.add(outputLayerActivationFunctionPanel,				new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0,						GridBagConstraints.CENTER,						GridBagConstraints.VERTICAL, borderInsets,						67, 0));		outputLayerPanel.add(outputLayerNeuronsPanel,				new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0,						GridBagConstraints.CENTER,						GridBagConstraints.VERTICAL, borderInsets,						67, 0));		outputLayerPanel.setBorder(new TitledBorder(resource				.getString(OUTPUT_LAYER)));				// Weight initialization panel setup		initializationNames = new String[initialization.length];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -