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

📄 generatedatum.java

📁 BP算法JAVA源程序
💻 JAVA
字号:
package com.digiburo.demo3;import java.io.File;import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException; import java.io.FileNotFoundException;import com.digiburo.backprop1.Pattern;import com.digiburo.backprop1.PatternList;/** * Convert txt files to serialized patterns  * * @author G.S. Cole (gsc@acm.org) * @version $Id: GenerateDatum.java,v 1.1 2002/02/03 04:24:05 gsc Exp $ *//* * Development Environment: *   Linux 2.2.14-5.0 (Red Hat 6.2) *   Java Developers Kit 1.3.1 * * Legalise:   *   Copyright (C) 2002 Digital Burro, INC. * * Maintenance History: *   $Log: GenerateDatum.java,v $ *   Revision 1.1  2002/02/03 04:24:05  gsc *   Initial Check In * */public class GenerateDatum {    private static final double one = 0.9999999999;    private static final double zero = 0.0000000001;    private static final String TRAIN_FILENAME = "demo3.trn";            private static final String FILE_PATH = "src/com/digiburo/demo3/";        private static final String[] RAW_FILENAMES = { "zero_a.txt", "one_a.txt", "two_a.txt", "three_a.txt", "four_a.txt", "five_a.txt", "six_a.txt", "seven_a.txt", "eight_a.txt", "nine_a.txt" };    /**     * Read and return the ASCII pattern files as Pattern objects.     */    public void createTrainingSet() throws Exception {	PatternList pl = new PatternList();	double input[] = null;	double output[] = new double[10];		for (int ii = 0; ii < RAW_FILENAMES.length; ii++) {	    output[ii] = zero;	}	for (int ii = 0; ii < RAW_FILENAMES.length; ii++) {	    System.out.println(RAW_FILENAMES[ii]);	    input = patternReader(FILE_PATH + RAW_FILENAMES[ii]);	    if (ii == 0) {		output[ii] = one;	    } else {		output[ii] = one;		output[ii-1] = zero;	    }	    pl.add(input, output);	}	pl.writer(new File(TRAIN_FILENAME));    }    /**     * Convert the ASCII file do an array of double suitable      * for input neurons     *     * @param file_name of file to read     * @return file contents as array of double     */    private double[] patternReader(String file_name) {	String raw_pattern = null;		try {	    BufferedReader br = new BufferedReader(new FileReader(file_name));	    	    String inbuffer;	    while ((inbuffer = br.readLine()) != null) {		if (raw_pattern == null) {		    raw_pattern = inbuffer;		} else {		    raw_pattern += inbuffer;		}	    }	    	    br.close();	} catch(Exception ee) {	    ee.printStackTrace();	}		if (raw_pattern.length() != 25) {	    throw new IllegalArgumentException("bad pattern length");	}		byte[] temp = raw_pattern.getBytes();		double[] result = new double[25];	for (int ii = 0; ii < 25; ii++) {	    result[ii] = (temp[ii] == 0x20) ? zero: one;	}		return(result);    }    /**     * Driver     */    public static void main(String args[]) throws Exception {	System.out.println("begin");	GenerateDatum gd = new GenerateDatum();	gd.createTrainingSet();	System.out.println("end");    }}

⌨️ 快捷键说明

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