📄 generatedatum.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 + -