public RBMParameters(String data_file) {
		int line_num = 1;
		try {
			BufferedReader br = new BufferedReader(new FileReader(data_file));
			String line = br.readLine();
			String[] ar = line.split("\\s+");
			m = Integer.parseInt(ar[0]);
			n = Integer.parseInt(ar[1]);
			T = Integer.parseInt(ar[2]);
			_weights = new double[m][n];
			_examples = new double[T][m];
			_visibleBias = new double[m];
			_hiddenBias = new double[n];
			
			for(int i=0; i<m; i++) { 
				_visibleBias[i] = 0.0;
			}
			for(int i=0; i<n; i++) { 
				_hiddenBias[i] = 0.0;
			}
			for(int i=0; i<m; i++) { 
				for(int j=0; j<n; j++) { 
					_weights[i][j] = 0.0;
				}
				for(int t=0; t<T; t++) { 
					_examples[t][i] = 0.0;
				}
			}

			for (int t=0; t<T; t++) {
				line_num++;
				line = br.readLine();
				ar = line.split("\\s+");
				//System.out.println(ar[0]);
				if(ar.length == m) {
					for(int i=0; i<m; i++) 
						_examples[t][i] = Double.parseDouble(ar[i]);
				}
				else {
					continue;
				}
			}
			br.close();
		} catch(Exception e) {
			throw new RuntimeException("error while reading parameter file: " + data_file
				+ " on line " + line_num + " [" + e.getMessage() + "]");
		}
	}