Example usage for weka.core Queue Queue

List of usage examples for weka.core Queue Queue

Introduction

In this page you can find the example usage for weka.core Queue Queue.

Prototype

Queue

Source Link

Usage

From source file:milk.experiment.MIRemoteExperiment.java

License:Open Source License

/**
   * Prepares a remote experiment for running, creates sub experiments
   */*  ww w . j a  v a  2  s.  c o m*/
   * @exception Exception if an error occurs
   */
  public void initialize() throws Exception {
      if (m_baseExperiment == null) {
          throw new Exception("No base experiment specified!");
      }

      m_experimentAborted = false;
      m_finishedCount = 0;
      m_failedCount = 0;
      m_RunNumber = getRunLower();
      m_DatasetNumber = 0;
      m_PropertyNumber = 0;
      m_CurrentProperty = -1;
      m_CurrentInstances = null;
      m_Finished = false;

      if (m_remoteHosts.size() == 0) {
          throw new Exception("No hosts specified!");
      }
      // initialize all remote hosts to available
      m_remoteHostsStatus = new int[m_remoteHosts.size()];
      m_remoteHostFailureCounts = new int[m_remoteHosts.size()];

      m_remoteHostsQueue = new Queue();
      // prime the hosts queue
      for (int i = 0; i < m_remoteHosts.size(); i++) {
          m_remoteHostsQueue.push(new Integer(i));
      }

      // set up sub experiments
      m_subExpQueue = new Queue();
      int numExps;
      if (getSplitByDataSet()) {
          numExps = m_baseExperiment.getDatasets().size();
      } else {
          numExps = getRunUpper() - getRunLower() + 1;
      }
      m_subExperiments = new MIExperiment[numExps];
      m_subExpComplete = new int[numExps];
      // create copy of base experiment
      SerializedObject so = new SerializedObject(m_baseExperiment);

      if (getSplitByDataSet()) {
          for (int i = 0; i < m_baseExperiment.getDatasets().size(); i++) {
              m_subExperiments[i] = (MIExperiment) so.getObject();
              // one for each data set
              DefaultListModel temp = new DefaultListModel();
              temp.addElement(m_baseExperiment.getDatasets().elementAt(i));
              m_subExperiments[i].setDatasets(temp);
              m_subExpQueue.push(new Integer(i));
          }
      } else {
          for (int i = getRunLower(); i <= getRunUpper(); i++) {
              m_subExperiments[i - getRunLower()] = (MIExperiment) so.getObject();
              // one run for each sub experiment
              m_subExperiments[i - getRunLower()].setRunLower(i);
              m_subExperiments[i - getRunLower()].setRunUpper(i);

              m_subExpQueue.push(new Integer(i - getRunLower()));
          }
      }
  }