Examples of TensorIterator


Examples of cc.redberry.core.tensor.TensorIterator

    public Tensor transform(Tensor tensor) {
        if (!(tensor instanceof Fraction))
            return tensor;
       
        Fraction fraction = (Fraction) tensor; 
        TensorIterator iterator = fraction.iterator();
        Tensor current;
        while (iterator.hasNext()) {
            current = iterator.next();
           
            if (current instanceof Fraction) {
                Fraction temp = (Fraction) current;
                if (Fraction.onDenominatorIndicator.is(iterator))
                    return new Fraction(new Product(fraction.getNumerator(), temp.getDenominator()), temp.getNumerator());
                else
                    return new Fraction(temp.getNumerator(), new Product(fraction.getDenominator(), temp.getDenominator()));
            }
            if (current instanceof Product) {
                List<Tensor> multiplicands = new ArrayList<>();
                TensorIterator it = current.iterator();
                Tensor current1;
                while (it.hasNext()) {
                    current1 = it.next();
                    if (current1 instanceof Fraction) {
                        Fraction currentFraction = (Fraction) current1;
                        multiplicands.add(currentFraction.getDenominator());
                        it.set(currentFraction.getNumerator());
                    }
                }
                if (multiplicands.isEmpty())
                    return tensor;
                Product newNumerator = new Product();
View Full Code Here

Examples of cc.redberry.core.tensor.TensorIterator

        }
    }

    private Split split(Tensor tensor) {
        if (tensor instanceof Product) {
            TensorIterator it = tensor.iterator();
            Tensor current;
            List<Tensor> factored = new ArrayList<>();
            while (it.hasNext()) {
                current = it.next();
                if (currentPattern.factorOut(current)) {
                    factored.add(current);
                    it.remove();
                }
            }
            if (factored.isEmpty())
                factored.add(TensorNumber.createONE());
            if (((Product) tensor).isEmpty())
View Full Code Here

Examples of cc.redberry.core.tensor.TensorIterator

public abstract class AbstractRemoveElements implements Transformation {
    @Override
    public Tensor transform(Tensor tensor) {
        if (tensor.getClass() != getMultiClass())
            return tensor;
        TensorIterator it = tensor.iterator();
        while (it.hasNext())
            if (remove(it.next()))
                it.remove();
        return tensor.equivalent();
    }
View Full Code Here

Examples of cc.redberry.core.tensor.TensorIterator

            return new SplitNumber(TensorNumber.createONE(), tensor);
        if (tensor instanceof TensorNumber)
            return new SplitNumber(TensorNumber.createONE(), tensor);
        if (tensor instanceof Product) {
            TensorNumber number = TensorNumber.createONE();
            TensorIterator iterator = tensor.iterator();
            Tensor current;
            while (iterator.hasNext()) {
                current = iterator.next();
                if (current instanceof TensorNumber) {
                    number.multiply((TensorNumber) current);
                    iterator.remove();
                }
            }
            return new SplitNumber(number, tensor.equivalent());
        }
        throw new UnsupportedOperationException();
View Full Code Here

Examples of cc.redberry.core.tensor.TensorIterator

    @Override
    public Tensor transform(Tensor tensor) {
        if (tensor.getClass() != getMultiClass())
            return tensor;
        MultiTensor multiTensor = (MultiTensor) tensor;
        TensorIterator it = multiTensor.iterator();
        Tensor current;
        TensorNumber number = null;
        while (it.hasNext()) {
            current = it.next();
            if (current instanceof TensorNumber)
                if (number == null)
                    number = (TensorNumber) current;
                else {
                    multiOperation(number, (TensorNumber) current);
                    it.remove();
                }
        }
//        if (number != null)
//            multiTensor.addFirst(number);
        if (number == null)
View Full Code Here

Examples of cc.redberry.core.tensor.TensorIterator

    @Override
    public Tensor transform(Tensor tensor) {
        if (TTest.testIsSymbol(tensor))
            return ExpandAndCollectTransformation.EXPAND_AND_COLLECT_SCALARS.transform(tensor);
        if (tensor instanceof Product) {
            TensorIterator it = tensor.iterator();
            Tensor c;
            List<Tensor> syms = new ArrayList<>();
            while (it.hasNext())
                if (TTest.testIsSymbol((c = it.next()))) {
                    syms.add(c);
                    it.remove();
                }
            if (syms.isEmpty())
                return tensor;
            if (syms.size() == 1) {
                ((Product) tensor).addFirst(syms.get(0));
View Full Code Here

Examples of com.github.neuralnetworks.tensor.Tensor.TensorIterator

  for (int i = 0; i < batchSize; i++) {
      beforeSample();

      if (ti.getInput() != null) {
    inputLimits[0][inputDims.length - 1] = inputLimits[1][inputDims.length - 1] = i;
    TensorIterator inputIt = ti.getInput().iterator(inputLimits);
    float[] inputEl = getNextInput();
    IntStream.range(0, inputEl.length).forEach(j -> ti.getInput().getElements()[inputIt.next()] = inputEl[j]);
      }

      if (ti.getTarget() != null) {
    targetLimits[0][targetDims.length - 1] = targetLimits[1][targetDims.length - 1] = i;
    TensorIterator targetIt = ti.getTarget().iterator(targetLimits);
    float[] targetEl = getNextTarget();
    IntStream.range(0, targetEl.length).forEach(j -> ti.getTarget().getElements()[targetIt.next()] = targetEl[j]);
      }

      afterSample();
  }
View Full Code Here

Examples of com.github.neuralnetworks.tensor.Tensor.TensorIterator

    biasValue.forEach(i -> biasValue.getElements()[i] = 1);
      }

      Tensor v = TensorFactory.tensor(bias.getOutputLayer(), bias, vp);
      Tensor w = bias.getWeights();
      TensorIterator it = v.iterator();

      while (it.hasNext()) {
    v.getElements()[it.next()] = w.get(it.getCurrentPosition()[0], 0, 0, 0);
      }
  }
    }
View Full Code Here

Examples of com.github.neuralnetworks.tensor.Tensor.TensorIterator

  Conv2DConnection c = new ConnectionFactory().conv2d(new Layer(), new Layer(), 3, 3, 2, 2, 2, 1, 1);

  c.getWeights().setElements(new float[] {1, 2, 3, 4, 1, 2, 3, 4});

  ValuesProvider vp = TensorFactory.tensorProvider(c, 1, true);
  TensorIterator it = vp.get(c.getInputLayer()).iterator();
  for (int i = 0; i < vp.get(c.getInputLayer()).getSize(); i++) {
      vp.get(c.getInputLayer()).getElements()[it.next()] = i + 1;
  }

  AparapiConv2D conv = new AparapiConv2DFF(c, vp, c.getOutputLayer());
  conv.calculate(c, vp, c.getOutputLayer());
View Full Code Here

Examples of com.github.neuralnetworks.tensor.Tensor.TensorIterator

  Environment.getInstance().setUseWeightsSharedMemory(true);
  Conv2DConnection c = new ConnectionFactory().conv2d(new Layer(), new Layer(), 3, 3, 2, 2, 2, 2, 1);
  c.getWeights().setElements(new float[] {1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4});

  ValuesProvider vp = TensorFactory.tensorProvider(c, 1, true);
  TensorIterator it = vp.get(c.getInputLayer()).iterator();
  for (int i = 0; i < vp.get(c.getInputLayer()).getSize(); i++) {
      vp.get(c.getInputLayer()).getElements()[it.next()] = i + 1;
  }

  AparapiConv2D conv = new AparapiConv2DFF(c, vp, c.getOutputLayer());
  conv.calculate(c, vp, c.getOutputLayer());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.