Ejemplo n.º 1
0
 @Override
 public boolean isBoolean() {
   for (INDArray a : slices) {
     if (!a.isBoolean()) return false;
   }
   return true;
 }
Ejemplo n.º 2
0
 @Override
 public boolean isElementConstrained() {
   for (INDArray a : slices) {
     if (a.isElementConstrained()) return true;
   }
   return false;
 }
Ejemplo n.º 3
0
 @Override
 public boolean isFullyMutable() {
   for (INDArray a : slices) {
     if (!a.isFullyMutable()) return false;
   }
   return true;
 }
Ejemplo n.º 4
0
  @Override
  public INDArray innerProduct(INDArray a) {
    int dims = dimensionality();
    switch (dims) {
      case 0:
        {
          a = a.clone();
          a.scale(get());
          return a;
        }
      case 1:
        {
          return this.toVector().innerProduct(a);
        }
      case 2:
        {
          return Matrix.create(this).innerProduct(a);
        }
    }

    int n = sliceCount();
    ArrayList<INDArray> al = new ArrayList<INDArray>(n);
    for (INDArray s : this) {
      al.add(s.innerProduct(a));
    }
    return Arrayz.create(al);
  }
Ejemplo n.º 5
0
 @Override
 public boolean equals(INDArray a) {
   if (!Arrays.equals(a.getShape(), this.getShape())) return false;
   for (int i = 0; i < slices.length; i++) {
     if (!slices[i].equals(a.slice(i))) return false;
   }
   return true;
 }
Ejemplo n.º 6
0
 @Override
 public AVector asVector() {
   AVector v = Vector0.INSTANCE;
   for (INDArray a : slices) {
     v = v.join(a.asVector());
   }
   return v;
 }
Ejemplo n.º 7
0
 @Override
 public INDArray outerProduct(INDArray a) {
   int n = sliceCount();
   ArrayList<INDArray> al = new ArrayList<INDArray>(n);
   for (INDArray s : this) {
     al.add(s.outerProduct(a));
   }
   return Arrayz.create(al);
 }
Ejemplo n.º 8
0
 @Override
 public INDArray slice(int dimension, int index) {
   if (dimension < 0)
     throw new IllegalArgumentException(ErrorMessages.invalidDimension(this, dimension));
   if (dimension == 0) return slice(index);
   ArrayList<INDArray> al = new ArrayList<INDArray>(sliceCount());
   for (INDArray s : this) {
     al.add(s.slice(dimension - 1, index));
   }
   return SliceArray.create(al);
 }
Ejemplo n.º 9
0
 @Override
 public double[] toDoubleArray() {
   double[] result = Array.createStorage(this.getShape());
   int skip = (int) slice(0).elementCount();
   for (int i = 0; i < slices.length; i++) {
     INDArray s = slices[i];
     if (s.isSparse()) {
       s.addToArray(result, skip * i);
     } else {
       s.getElements(result, skip * i);
     }
   }
   return result;
 }
Ejemplo n.º 10
0
 @SuppressWarnings("unchecked")
 public static <T extends INDArray> SliceArray<T> create(INDArray a) {
   return new SliceArray<T>(a.getShape(), (T[]) a.toSliceArray());
 }
Ejemplo n.º 11
0
 @Override
 public void multiply(double d) {
   for (INDArray a : slices) {
     a.scale(d);
   }
 }
Ejemplo n.º 12
0
 @Override
 public void applyOp(IOperator op) {
   for (INDArray a : slices) {
     a.applyOp(op);
   }
 }
Ejemplo n.º 13
0
 @Override
 public void applyOp(Op op) {
   for (INDArray a : slices) {
     a.applyOp(op);
   }
 }