Package org.apache.hama.ml.writable

Examples of org.apache.hama.ml.writable.VectorWritable


    // update weight according to training data
    DenseDoubleMatrix[] weightUpdates = this.getZeroWeightMatrices();

    int count = 0;
    LongWritable recordId = new LongWritable();
    VectorWritable trainingInstance = new VectorWritable();
    boolean hasMore = false;
    while (count++ < this.batchSize) {
      hasMore = peer.readNext(recordId, trainingInstance);

      try {
        DenseDoubleMatrix[] singleTrainingInstanceUpdates = this.inMemoryPerceptron
            .trainByInstance(trainingInstance.getVector());
        // aggregate the updates
        for (int m = 0; m < weightUpdates.length; ++m) {
          weightUpdates[m] = (DenseDoubleMatrix) weightUpdates[m]
              .add(singleTrainingInstanceUpdates[m]);
        }
View Full Code Here


        fs.createNewFile(dataPath);
        SequenceFile.Writer writer = new SequenceFile.Writer(fs, conf,
            dataPath, LongWritable.class, VectorWritable.class);

        for (int i = 0; i < 1000; ++i) {
          VectorWritable vecWritable = new VectorWritable(trainingData[i % 4]);
          writer.append(new LongWritable(i), vecWritable);
        }
        writer.close();
      }
View Full Code Here

    Path file = new Path("src/test/resources/vd_file_sample.txt");
    InputSplit split = new FileSplit(file, 0, 1000, new String[]{"localhost"});
    BSPJob job = new BSPJob();
    RecordReader<VectorWritable, DoubleWritable> recordReader = inputFormat.getRecordReader(split, job);
    assertNotNull(recordReader);
    VectorWritable key = recordReader.createKey();
    assertNotNull(key);
    DoubleWritable value = recordReader.createValue();
    assertNotNull(value);
    assertTrue(recordReader.next(key, value));
    assertEquals(new DenseDoubleVector(new double[]{2d, 3d, 4d}), key.getVector());
    assertEquals(new DoubleWritable(1d), value);
  }
View Full Code Here

            .append(": new theta for cost ").append(cost).append(" is ")
            .append(theta.toString()).toString());
      }
      // master writes down the output
      if (master) {
        peer.write(new VectorWritable(theta), new DoubleWritable(cost));
      }

      peer.reopenInput();
      peer.sync();
View Full Code Here

  private double aggregateTotalCost(
      BSPPeer<VectorWritable, DoubleWritable, VectorWritable, DoubleWritable, VectorWritable> peer,
      double localCost) throws IOException {
    double totalCost = localCost;
    VectorWritable costResult;
    while ((costResult = peer.getCurrentMessage()) != null) {
      totalCost += costResult.getVector().get(0);
    }
    return totalCost;
  }
View Full Code Here

  }

  private double[] aggregatePartialDerivatives(
      BSPPeer<VectorWritable, DoubleWritable, VectorWritable, DoubleWritable, VectorWritable> peer,
      double[] thetaDelta) throws IOException {
    VectorWritable thetaDeltaSlice;
    double[] newTheta = Arrays.copyOf(thetaDelta, thetaDelta.length);
    while ((thetaDeltaSlice = peer.getCurrentMessage()) != null) {
      for (int j = 0; j < theta.getLength(); j++) {
        newTheta[j] += thetaDeltaSlice.getVector().get(j);
      }
    }
    return newTheta;
  }
View Full Code Here

  }

  private void aggregateItemsNumber(
      BSPPeer<VectorWritable, DoubleWritable, VectorWritable, DoubleWritable, VectorWritable> peer,
      int itemCount) throws IOException {
    VectorWritable itemsResult;
    while ((itemsResult = peer.getCurrentMessage()) != null) {
      itemCount += itemsResult.getVector().get(0);
    }

    m = itemCount;
  }
View Full Code Here

  private void broadcastVector(
      BSPPeer<VectorWritable, DoubleWritable, VectorWritable, DoubleWritable, VectorWritable> peer,
      double[] vector) throws IOException {
    for (String peerName : peer.getAllPeerNames()) {
      if (!peerName.equals(peer.getPeerName())) { // avoid sending to oneself
        peer.send(peerName, new VectorWritable(new DenseDoubleVector(vector)));
      }
    }
  }
View Full Code Here

  public void cleanup(
      BSPPeer<VectorWritable, DoubleWritable, VectorWritable, DoubleWritable, VectorWritable> peer)
      throws IOException {
    // master writes down the final output
    if (master) {
      peer.write(new VectorWritable(theta), new DoubleWritable(cost));
      if (log.isInfoEnabled()) {
        log.info(new StringBuilder(peer.getPeerName())
            .append(":computation finished with cost ").append(cost)
            .append(" for theta ").append(theta).toString());
      }
View Full Code Here

        if (log.isDebugEnabled()) {
          log.debug(new StringBuilder(peer.getPeerName()).append(
              ": getting theta").toString());
        }
        peer.sync();
        VectorWritable vectorWritable = peer.getCurrentMessage();
        theta = vectorWritable.getVector();
      }
    }
  }
View Full Code Here

TOP

Related Classes of org.apache.hama.ml.writable.VectorWritable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.