org.nd4j.linalg.factory.Nd4j.getOpFactory()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(9.8k)|赞(0)|评价(0)|浏览(146)

本文整理了Java中org.nd4j.linalg.factory.Nd4j.getOpFactory()方法的一些代码示例,展示了Nd4j.getOpFactory()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Nd4j.getOpFactory()方法的具体详情如下:
包路径:org.nd4j.linalg.factory.Nd4j
类名称:Nd4j
方法名:getOpFactory

Nd4j.getOpFactory介绍

[英]Get the operation factory
[中]去操作工厂

代码示例

代码示例来源:origin: deeplearning4j/nd4j

  1. public static long getOpNum(String name, Op.Type type) {
  2. if (type == Op.Type.CUSTOM)
  3. return Nd4j.getExecutioner().getCustomOperations().get(name.toLowerCase()).getHash();
  4. else
  5. return (long) Nd4j.getOpFactory().getOpNumByName(name);
  6. }

代码示例来源:origin: deeplearning4j/nd4j

  1. return (long) Nd4j.getOpFactory().getOpNumByName(name);

代码示例来源:origin: deeplearning4j/nd4j

  1. public INDArray scoreArray(INDArray labels, INDArray preOutput, IActivation activationFn, INDArray mask) {
  2. if (labels.size(1) != preOutput.size(1)) {
  3. throw new IllegalArgumentException(
  4. "Labels array numColumns (size(1) = " + labels.size(1) + ") does not match output layer"
  5. + " number of outputs (nOut = " + preOutput.size(1) + ") ");
  6. }
  7. INDArray scoreArr;
  8. //INDArray output = Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform(activationFn, preOutput.dup()));
  9. INDArray output = activationFn.getActivation(preOutput.dup(), true);
  10. scoreArr = output.subi(labels);
  11. Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("abs", scoreArr));
  12. //Weighted loss function
  13. if (weights != null) {
  14. if (weights.length() != output.size(1)) {
  15. throw new IllegalStateException("Weights vector (length " + weights.length()
  16. + ") does not match output.size(1)=" + output.size(1));
  17. }
  18. scoreArr.muliRowVector(weights);
  19. }
  20. if (mask != null) {
  21. LossUtil.applyMask(scoreArr, mask);
  22. }
  23. return scoreArr;
  24. }

代码示例来源:origin: deeplearning4j/nd4j

  1. public INDArray scoreArray(INDArray labels, INDArray preOutput, IActivation activationFn, INDArray mask) {
  2. if (labels.size(1) != preOutput.size(1)) {
  3. throw new IllegalArgumentException(
  4. "Labels array numColumns (size(1) = " + labels.size(1) + ") does not match output layer"
  5. + " number of outputs (nOut = " + preOutput.size(1) + ") ");
  6. }
  7. INDArray scoreArr;
  8. //INDArray output = Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform(activationFn, preOutput.dup()));
  9. INDArray output = activationFn.getActivation(preOutput.dup(), true);
  10. scoreArr = output.rsubi(labels).divi(labels);
  11. Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("abs", scoreArr));
  12. scoreArr.muli(100.0 / labels.size(1));
  13. //Weighted loss function
  14. if (weights != null) {
  15. if (weights.length() != output.size(1)) {
  16. throw new IllegalStateException("Weights vector (length " + weights.length()
  17. + ") does not match output.size(1)=" + output.size(1));
  18. }
  19. scoreArr.muliRowVector(weights);
  20. }
  21. if (mask != null) {
  22. LossUtil.applyMask(scoreArr, mask);
  23. }
  24. return scoreArr;
  25. }

代码示例来源:origin: org.deeplearning4j/nearestneighbor-core

  1. /**
  2. *
  3. * @param m1
  4. * @param m2
  5. * @return
  6. */
  7. public double getDistance(Point m1, Point m2) {
  8. return Nd4j.getExecutioner()
  9. .execAndReturn(Nd4j.getOpFactory().createAccum(distanceFunction, m1.getArray(), m2.getArray()))
  10. .getFinalResult().doubleValue();
  11. }

代码示例来源:origin: org.deeplearning4j/nearestneighbor-core

  1. /**
  2. * Get the distance to the given
  3. * point from the cluster
  4. * @param point the point to get the distance for
  5. * @return
  6. */
  7. public double getDistanceToCenter(Point point) {
  8. return Nd4j.getExecutioner().execAndReturn(
  9. Nd4j.getOpFactory().createAccum(distanceFunction, center.getArray(), point.getArray()))
  10. .getFinalResult().doubleValue();
  11. }

代码示例来源:origin: org.deeplearning4j/nearestneighbor-core

  1. public void run() {
  2. try {
  3. for (int k = clusterIdx + 1, l = clusterSet.getClusterCount(); k < l; k++) {
  4. Cluster toCluster = clusterSet.getClusters().get(k);
  5. double distance = Nd4j.getExecutioner()
  6. .execAndReturn(Nd4j.getOpFactory().createAccum(
  7. clusterSet.getDistanceFunction(),
  8. fromCluster.getCenter().getArray(),
  9. toCluster.getCenter().getArray()))
  10. .getFinalResult().doubleValue();
  11. info.getDistancesBetweenClustersCenters().put(fromCluster.getId(), toCluster.getId(),
  12. distance);
  13. }
  14. } catch (Exception e) {
  15. e.printStackTrace();
  16. }
  17. }
  18. });

代码示例来源:origin: org.deeplearning4j/nearestneighbor-core

  1. /**
  2. *
  3. * @param cluster
  4. * @param distanceFunction
  5. * @return
  6. */
  7. public static ClusterInfo computeClusterInfos(Cluster cluster, String distanceFunction) {
  8. ClusterInfo info = new ClusterInfo(cluster.isInverse(), true);
  9. for (int i = 0, j = cluster.getPoints().size(); i < j; i++) {
  10. Point point = cluster.getPoints().get(i);
  11. //shouldn't need to inverse here. other parts of
  12. //the code should interpret the "distance" or score here
  13. double distance = Nd4j.getExecutioner()
  14. .execAndReturn(Nd4j.getOpFactory().createAccum(distanceFunction,
  15. cluster.getCenter().getArray(), point.getArray()))
  16. .getFinalResult().doubleValue();
  17. info.getPointDistancesFromCenter().put(point.getId(), distance);
  18. double diff = info.getTotalPointDistanceFromCenter() + distance;
  19. info.setTotalPointDistanceFromCenter(diff);
  20. }
  21. if (!cluster.getPoints().isEmpty())
  22. info.setAveragePointDistanceFromCenter(info.getTotalPointDistanceFromCenter() / cluster.getPoints().size());
  23. return info;
  24. }

代码示例来源:origin: org.deeplearning4j/deeplearning4j-nn

  1. public INDArray propUpDerivative(INDArray z) {
  2. switch (layerConf().getHiddenUnit()) {
  3. case IDENTITY:
  4. return Nd4j.getExecutioner()
  5. .execAndReturn(Nd4j.getOpFactory().createTransform("identity", z).derivative());
  6. case BINARY:
  7. return Nd4j.getExecutioner()
  8. .execAndReturn(Nd4j.getOpFactory().createTransform("sigmoid", z).derivative());
  9. case GAUSSIAN: {
  10. Distribution dist = Nd4j.getDistributions().createNormal(z, 1);
  11. INDArray gaussian = dist.sample(z.shape());
  12. INDArray derivative = z.mul(-2).mul(gaussian);
  13. return derivative;
  14. }
  15. case RECTIFIED:
  16. return Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("relu", z).derivative());
  17. case SOFTMAX:
  18. return Nd4j.getExecutioner()
  19. .execAndReturn(Nd4j.getOpFactory().createTransform("softmax", z).derivative());
  20. default:
  21. throw new IllegalStateException(
  22. "Hidden unit type should either be binary, gaussian, or rectified linear " + layerId());
  23. }
  24. }

代码示例来源:origin: org.nd4j/nd4j-api

  1. public INDArray scoreArray(INDArray labels, INDArray preOutput, IActivation activationFn, INDArray mask) {
  2. if (labels.size(1) != preOutput.size(1)) {
  3. throw new IllegalArgumentException("Labels array numColumns (size(1) = " + labels.size(1)
  4. + ") does not match output layer" + " number of outputs (nOut = " + preOutput.size(1)
  5. + ") ");
  6. }
  7. INDArray scoreArr;
  8. //INDArray output = Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform(activationFn, preOutput.dup()));
  9. INDArray output = activationFn.getActivation(preOutput.dup(), true);
  10. scoreArr = output.subi(labels);
  11. Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("abs", scoreArr));
  12. //Weighted loss function
  13. if (weights != null) {
  14. if (weights.length() != output.size(1)) {
  15. throw new IllegalStateException("Weights vector (length " + weights.length()
  16. + ") does not match output.size(1)=" + output.size(1));
  17. }
  18. scoreArr.muliRowVector(weights);
  19. }
  20. if (mask != null) {
  21. LossUtil.applyMask(scoreArr, mask);
  22. }
  23. return scoreArr;
  24. }

代码示例来源:origin: org.deeplearning4j/deeplearning4j-nn

  1. /**
  2. * Calculates the activation of the visible :
  3. * sigmoid(v * W + hbias)
  4. * @param v the visible layer
  5. * @return the approximated activations of the visible layer
  6. */
  7. public INDArray propUp(INDArray v, boolean training) {
  8. INDArray preSig = preOutput(v, training);
  9. switch (layerConf().getHiddenUnit()) {
  10. case IDENTITY:
  11. return preSig;
  12. case BINARY:
  13. return sigmoid(preSig);
  14. case GAUSSIAN:
  15. Distribution dist = Nd4j.getDistributions().createNormal(preSig, 1);
  16. preSig = dist.sample(preSig.shape());
  17. return preSig;
  18. case RECTIFIED:
  19. preSig = max(preSig, 0.0);
  20. return preSig;
  21. case SOFTMAX:
  22. return Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("softmax", preSig));
  23. default:
  24. throw new IllegalStateException(
  25. "Hidden unit type should either be binary, gaussian, or rectified linear " + layerId());
  26. }
  27. }

代码示例来源:origin: org.nd4j/nd4j-api

  1. public INDArray scoreArray(INDArray labels, INDArray preOutput, IActivation activationFn, INDArray mask) {
  2. if (labels.size(1) != preOutput.size(1)) {
  3. throw new IllegalArgumentException("Labels array numColumns (size(1) = " + labels.size(1)
  4. + ") does not match output layer" + " number of outputs (nOut = " + preOutput.size(1)
  5. + ") ");
  6. }
  7. INDArray scoreArr;
  8. //INDArray output = Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform(activationFn, preOutput.dup()));
  9. INDArray output = activationFn.getActivation(preOutput.dup(), true);
  10. scoreArr = output.rsubi(labels).divi(labels);
  11. Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("abs", scoreArr));
  12. scoreArr.muli(100.0 / labels.size(1));
  13. //Weighted loss function
  14. if (weights != null) {
  15. if (weights.length() != output.size(1)) {
  16. throw new IllegalStateException("Weights vector (length " + weights.length()
  17. + ") does not match output.size(1)=" + output.size(1));
  18. }
  19. scoreArr.muliRowVector(weights);
  20. }
  21. if (mask != null) {
  22. LossUtil.applyMask(scoreArr, mask);
  23. }
  24. return scoreArr;
  25. }

代码示例来源:origin: org.deeplearning4j/deeplearning4j-nn

  1. /**
  2. * Calculates the activation of the hidden:
  3. * activation(h * W + vbias)
  4. * @param h the hidden layer
  5. * @return the approximated output of the hidden layer
  6. */
  7. public INDArray propDown(INDArray h) {
  8. INDArray W = getParam(PretrainParamInitializer.WEIGHT_KEY).transpose();
  9. INDArray vBias = getParam(PretrainParamInitializer.VISIBLE_BIAS_KEY);
  10. INDArray vMean = h.mmul(W).addiRowVector(vBias);
  11. switch (layerConf().getVisibleUnit()) {
  12. case IDENTITY:
  13. return vMean;
  14. case BINARY:
  15. return sigmoid(vMean);
  16. case GAUSSIAN:
  17. Distribution dist = Nd4j.getDistributions().createNormal(vMean, 1);
  18. vMean = dist.sample(vMean.shape());
  19. return vMean;
  20. case LINEAR:
  21. return vMean;
  22. case SOFTMAX:
  23. return Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("softmax", vMean));
  24. default:
  25. throw new IllegalStateException("Visible unit type should either be binary or gaussian " + layerId());
  26. }
  27. }

代码示例来源:origin: org.deeplearning4j/deeplearning4j-nn

  1. vSample = Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("softmax", vProb));
  2. break;

代码示例来源:origin: org.deeplearning4j/deeplearning4j-nn

  1. hSample = Nd4j.getExecutioner().execAndReturn(Nd4j.getOpFactory().createTransform("softmax", hProb));
  2. break;

相关文章