/** * Samples the sequence repeatedly, making numSamples passes over the entire sequence. */ public double sampleSequenceRepeatedly(SequenceModel model, int[] sequence, int numSamples) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored listener.setInitialSequence(sequence); double returnScore = Double.NEGATIVE_INFINITY; for (int iter=0; iter<numSamples; iter++) { returnScore = sampleSequenceForward(model, sequence); } return returnScore; }
/** * Collects numSamples samples of sequences, from the distribution over sequences defined * by the sequence model passed on construction. * All samples collected are sampleInterval samples apart, in an attempt to reduce * autocorrelation. * @return a Counter containing the sequence samples, as arrays of type int, and their scores */ public List<int[]> collectSamples(SequenceModel model, int numSamples, int sampleInterval, int[] initialSequence) { if (verbose>0) log.info("Collecting samples"); listener.setInitialSequence(initialSequence); List<int[]> result = new ArrayList<>(); int[] sequence = initialSequence; for (int i=0; i<numSamples; i++) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored sampleSequenceRepeatedly(model, sequence, sampleInterval); // modifies tagSequence result.add(sequence); // save it to return later if (verbose>0) log.info("."); System.err.flush(); } if (verbose>1) { log.info(); printSamples(result, System.err); } if (verbose>0) log.info("done."); return result; }
List result = new ArrayList(); int[] sequence = copy(initialSequence); int[] best = null; double bestScore = Double.NEGATIVE_INFINITY;
/** * Samples the sequence repeatedly, making numSamples passes over the entire sequence. */ public double sampleSequenceRepeatedly(SequenceModel model, int[] sequence, int numSamples) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored listener.setInitialSequence(sequence); double returnScore = Double.NEGATIVE_INFINITY; for (int iter=0; iter<numSamples; iter++) { returnScore = sampleSequenceForward(model, sequence); } return returnScore; }
/** * Samples the sequence repeatedly, making numSamples passes over the entire sequence. */ public double sampleSequenceRepeatedly(SequenceModel model, int[] sequence, int numSamples) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored listener.setInitialSequence(sequence); double returnScore = Double.NEGATIVE_INFINITY; for (int iter=0; iter<numSamples; iter++) { returnScore = sampleSequenceForward(model, sequence); } return returnScore; }
/** * Samples the sequence repeatedly, making numSamples passes over the entire sequence. */ public void sampleSequenceRepeatedly(SequenceModel model, int[] sequence, int numSamples) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored listener.setInitialSequence(sequence); for (int iter=0; iter<numSamples; iter++) { sampleSequenceForward(model, sequence); } }
/** * Collects numSamples samples of sequences, from the distribution over sequences defined * by the sequence model passed on construction. * All samples collected are sampleInterval samples apart, in an attempt to reduce * autocorrelation. * @return a Counter containing the sequence samples, as arrays of type int, and their scores */ public List<int[]> collectSamples(SequenceModel model, int numSamples, int sampleInterval, int[] initialSequence) { if (verbose>0) System.err.print("Collecting samples"); listener.setInitialSequence(initialSequence); List<int[]> result = new ArrayList<int[]>(); int[] sequence = initialSequence; for (int i=0; i<numSamples; i++) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored sampleSequenceRepeatedly(model, sequence, sampleInterval); // modifies tagSequence result.add(sequence); // save it to return later if (verbose>0) System.err.print("."); System.err.flush(); } if (verbose>1) { System.err.println(); printSamples(result, System.err); } if (verbose>0) System.err.println("done."); return result; }
/** * Collects numSamples samples of sequences, from the distribution over sequences defined * by the sequence model passed on construction. * All samples collected are sampleInterval samples apart, in an attempt to reduce * autocorrelation. * @return a Counter containing the sequence samples, as arrays of type int, and their scores */ public List<int[]> collectSamples(SequenceModel model, int numSamples, int sampleInterval, int[] initialSequence) { if (verbose>0) System.err.print("Collecting samples"); listener.setInitialSequence(initialSequence); List<int[]> result = new ArrayList<int[]>(); int[] sequence = initialSequence; for (int i=0; i<numSamples; i++) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored sampleSequenceRepeatedly(model, sequence, sampleInterval); // modifies tagSequence result.add(sequence); // save it to return later if (verbose>0) System.err.print("."); System.err.flush(); } if (verbose>1) { System.err.println(); printSamples(result, System.err); } if (verbose>0) System.err.println("done."); return result; }
sequence = copy(sequence); // so we don't change the initial, or the one we just stored double temperature = schedule.getTemperature(i);
List result = new ArrayList(); int[] sequence = copy(initialSequence); int[] best = null; double bestScore = Double.NEGATIVE_INFINITY;
/** * Collects numSamples samples of sequences, from the distribution over sequences defined * by the sequence model passed on construction. * All samples collected are sampleInterval samples apart, in an attempt to reduce * autocorrelation. * @return a Counter containing the sequence samples, as arrays of type int, and their scores */ public List<int[]> collectSamples(SequenceModel model, int numSamples, int sampleInterval, int[] initialSequence) { if (verbose>0) log.info("Collecting samples"); listener.setInitialSequence(initialSequence); List<int[]> result = new ArrayList<>(); int[] sequence = initialSequence; for (int i=0; i<numSamples; i++) { sequence = copy(sequence); // so we don't change the initial, or the one we just stored sampleSequenceRepeatedly(model, sequence, sampleInterval); // modifies tagSequence result.add(sequence); // save it to return later if (verbose>0) log.info("."); System.err.flush(); } if (verbose>1) { log.info(); printSamples(result, System.err); } if (verbose>0) log.info("done."); return result; }
List result = new ArrayList(); int[] sequence = copy(initialSequence); int[] best = null; double bestScore = Double.NEGATIVE_INFINITY;