All pastes #281389 Raw Edit

Something

public text v1 · immutable
#281389 ·published 2006-12-16 19:23 UTC
rendered paste body
public static void read_in(String filepath) {
		String file_type = filepath.substring(filepath.indexOf('.')+1);
		int a;
		if (file_type.compareToIgnoreCase("weights") == 0) {
			a = 1;
		} else if (file_type.compareToIgnoreCase("layers") == 0) {
			a = 2;
		} else {
			a = 3;
		}
		File aFile = new File(filepath);
	    //...checks on aFile are elided
	    StringBuffer contents = new StringBuffer();

	    //declared here only to make visible to finally clause
	    BufferedReader input = null;
	    try {
	      //use buffering, reading one line at a time
	      //FileReader always assumes default encoding is OK!
	      input = new BufferedReader( new FileReader(aFile) );
	      String line = null; //not declared within while loop
	      /*
	      * readLine is a bit quirky :
	      */
	      while (( line = input.readLine()) != null){
	        contents.append(line);
	      }
	    }
	    catch (FileNotFoundException ex) {
	      ex.printStackTrace();
	    }
	    catch (IOException ex){
	      ex.printStackTrace();
	    }
	    finally {
	      try {
	        if (input!= null) {
	          //flush and close both "input" and its underlying FileReader
	          input.close();
	        }
	      }
	      catch (IOException ex) {
	        ex.printStackTrace();
	      }
	    }
	    String temp = contents.toString();
		temp = temp.substring(2,temp.length());
	    int lay_num = Integer.parseInt(temp.substring(0,1));
	    switch(a) {
			case 1: {
			   StringTokenizer weights = new StringTokenizer(temp);
			   
			   //the big loop to 
			   for (int x=0; x < (((layer)network.get(lay_num)).numelements()); x++) {
				   while (weights.hasMoreTokens() && !network.isEmpty() && (((neuron)(((layer)(network.get(lay_num))).get_neuron(x))).size()) < (((layer)(network.get(lay_num))).numelements())*factorial(((layer)(network.get(lay_num+1))).numelements())) {
					   ((neuron)(((layer)(network.get(lay_num))).get_neuron(x))).setWeight((Double.parseDouble(weights.nextToken(","))));
				   }
			   }
			} 
			break;
			
			case 2: {
				for (int z=0; z < (Integer.parseInt(contents.toString())); z++){
				tempa2 = new layer(z);
				network.add(tempa2);
				}
			}
			break;
			case 3: {
				int num_neurons = Integer.parseInt(temp.substring(0,1)); 
				temp = temp.substring(2,temp.length());
				for (int x=0; x < num_neurons; x++) {
					tempa = new neuron(x);
					((layer)(network.get(lay_num))).add(tempa);
				}
			}
			break;
		}
	}