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

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

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

Nd4j.createArrayFromShapeBuffer介绍

暂无

代码示例

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

  1. public abstract DataBuffer decompress(DataBuffer buffer);

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

  1. /**
  2. * Read in an ndarray from a data input stream
  3. *
  4. * @param dis the data input stream to read from
  5. * @return the ndarray
  6. * @throws IOException
  7. */
  8. public static INDArray read(DataInputStream dis) throws IOException {
  9. DataBuffer shapeInformation = Nd4j.createBufferDetached(new long[1], DataBuffer.Type.LONG);
  10. shapeInformation.read(dis);
  11. int length = Shape.length(shapeInformation);
  12. DataBuffer data = CompressedDataBuffer.readUnknown(dis, length);
  13. return createArrayFromShapeBuffer(data, shapeInformation);
  14. }

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

  1. INDArray arr = Nd4j.createArrayFromShapeBuffer(buff.dup(), shapeBuff.dup());
  2. return Pair.of(arr, byteBuffer);
  3. } else {
  4. new CompressedDataBuffer(byteBufferPointer, compressionDescriptor);
  5. INDArray arr = Nd4j.createArrayFromShapeBuffer(compressedDataBuffer.dup(), shapeBuff.dup());

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

  1. @Override
  2. public INDArray bitmapEncode(INDArray indArray, double threshold) {
  3. DataBuffer buffer = Nd4j.getDataBufferFactory().createInt(indArray.length() / 16 + 5);
  4. INDArray ret = Nd4j.createArrayFromShapeBuffer(buffer, indArray.shapeInfoDataBuffer());
  5. bitmapEncode(indArray, ret, threshold);
  6. return ret;
  7. }

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

  1. /**
  2. * This method creates compressed INDArray from Java float array, skipping usual INDArray instantiation routines
  3. *
  4. * @param data
  5. * @param shape
  6. * @param order
  7. * @return
  8. */
  9. @Override
  10. public INDArray compress(float[] data, int[] shape, char order) {
  11. FloatPointer pointer = new FloatPointer(data);
  12. DataBuffer shapeInfo = Nd4j.getShapeInfoProvider().createShapeInformation(shape, order).getFirst();
  13. DataBuffer buffer = compressPointer(DataBuffer.TypeEx.FLOAT, pointer, data.length, 4);
  14. return Nd4j.createArrayFromShapeBuffer(buffer, shapeInfo);
  15. }

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

  1. /**
  2. * This method creates compressed INDArray from Java double array, skipping usual INDArray instantiation routines
  3. *
  4. * @param data
  5. * @param shape
  6. * @param order
  7. * @return
  8. */
  9. @Override
  10. public INDArray compress(double[] data, int[] shape, char order) {
  11. DoublePointer pointer = new DoublePointer(data);
  12. DataBuffer shapeInfo = Nd4j.getShapeInfoProvider().createShapeInformation(shape, order).getFirst();
  13. DataBuffer buffer = compressPointer(DataBuffer.TypeEx.DOUBLE, pointer, data.length, 8);
  14. return Nd4j.createArrayFromShapeBuffer(buffer, shapeInfo);
  15. }

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

  1. @Override
  2. public INDArray dup() {
  3. WorkspaceUtils.assertValidArray(this, "Cannot duplicate INDArray");
  4. if (this.isCompressed() && this.ordering() == Nd4j.order().charValue()) {
  5. INDArray ret = Nd4j.createArrayFromShapeBuffer(data().dup(), this.shapeInfoDataBuffer());
  6. ret.markAsCompressed(true);
  7. return ret;
  8. }
  9. Nd4j.getCompressor().autoDecompress(this);
  10. INDArray ret = Shape.toOffsetZeroCopy(this);
  11. return ret;
  12. }

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

  1. @Override
  2. public INDArray getrf(INDArray A) {
  3. // FIXME: int cast
  4. if (A.rows() > Integer.MAX_VALUE || A.columns() > Integer.MAX_VALUE)
  5. throw new ND4JArraySizeException();
  6. int m = (int) A.rows();
  7. int n = (int) A.columns();
  8. INDArray INFO = Nd4j.createArrayFromShapeBuffer(Nd4j.getDataBufferFactory().createInt(1),
  9. Nd4j.getShapeInfoProvider().createShapeInformation(new int[] {1, 1}).getFirst());
  10. int mn = Math.min(m, n);
  11. INDArray IPIV = Nd4j.createArrayFromShapeBuffer(Nd4j.getDataBufferFactory().createInt(mn),
  12. Nd4j.getShapeInfoProvider().createShapeInformation(new int[] {1, mn}).getFirst());
  13. if (A.data().dataType() == DataBuffer.Type.DOUBLE)
  14. dgetrf(m, n, A, IPIV, INFO);
  15. else if (A.data().dataType() == DataBuffer.Type.FLOAT)
  16. sgetrf(m, n, A, IPIV, INFO);
  17. else
  18. throw new UnsupportedOperationException();
  19. if (INFO.getInt(0) < 0) {
  20. throw new Error("Parameter #" + INFO.getInt(0) + " to getrf() was not valid");
  21. } else if (INFO.getInt(0) > 0) {
  22. log.warn("The matrix is singular - cannot be used for inverse op. Check L matrix at row " + INFO.getInt(0));
  23. }
  24. return IPIV;
  25. }

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

  1. @Override
  2. public INDArray dup(char order) {
  3. WorkspaceUtils.assertValidArray(this, "Cannot duplicate INDArray");
  4. if (this.isCompressed() && this.ordering() == order) {
  5. INDArray ret = Nd4j.createArrayFromShapeBuffer(data().dup(), this.shapeInfoDataBuffer());
  6. ret.markAsCompressed(true);
  7. return ret;
  8. }
  9. Nd4j.getCompressor().autoDecompress(this);
  10. return Shape.toOffsetZeroCopy(this, order);
  11. }

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

  1. @Override
  2. public INDArray convertToFloats() {
  3. if (data.dataType() == DataBuffer.Type.FLOAT)
  4. return this;
  5. val factory = Nd4j.getNDArrayFactory();
  6. val buffer = Nd4j.createBuffer(new long[]{this.length()}, DataBuffer.Type.FLOAT);
  7. factory.convertDataEx(convertType(data.dataType()), this.data().addressPointer(), DataBuffer.TypeEx.FLOAT, buffer.addressPointer(), buffer.length());
  8. return Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInformation);
  9. }

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

  1. @Override
  2. public void potrf(INDArray A, boolean lower) {
  3. // FIXME: int cast
  4. if (A.columns() > Integer.MAX_VALUE)
  5. throw new ND4JArraySizeException();
  6. byte uplo = (byte) (lower ? 'L' : 'U'); // upper or lower part of the factor desired ?
  7. int n = (int) A.columns();
  8. INDArray INFO = Nd4j.createArrayFromShapeBuffer(Nd4j.getDataBufferFactory().createInt(1),
  9. Nd4j.getShapeInfoProvider().createShapeInformation(new int[] {1, 1}).getFirst());
  10. if (A.data().dataType() == DataBuffer.Type.DOUBLE)
  11. dpotrf(uplo, n, A, INFO);
  12. else if (A.data().dataType() == DataBuffer.Type.FLOAT)
  13. spotrf(uplo, n, A, INFO);
  14. else
  15. throw new UnsupportedOperationException();
  16. if (INFO.getInt(0) < 0) {
  17. throw new Error("Parameter #" + INFO.getInt(0) + " to potrf() was not valid");
  18. } else if (INFO.getInt(0) > 0) {
  19. throw new Error("The matrix is not positive definite! (potrf fails @ order " + INFO.getInt(0) + ")");
  20. }
  21. return;
  22. }

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

  1. @Override
  2. public INDArray convertToDoubles() {
  3. if (data.dataType() == DataBuffer.Type.DOUBLE)
  4. return this;
  5. val factory = Nd4j.getNDArrayFactory();
  6. val buffer = Nd4j.createBuffer(new long[]{this.length()}, DataBuffer.Type.DOUBLE);
  7. factory.convertDataEx(convertType(data.dataType()), this.data().addressPointer(), DataBuffer.TypeEx.DOUBLE, buffer.addressPointer(), buffer.length());
  8. return Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInformation);
  9. }

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

  1. @Override
  2. public void gesvd(INDArray A, INDArray S, INDArray U, INDArray VT) {
  3. // FIXME: int cast
  4. if (A.rows() > Integer.MAX_VALUE || A.columns() > Integer.MAX_VALUE)
  5. throw new ND4JArraySizeException();
  6. int m = (int) A.rows();
  7. int n = (int) A.columns();
  8. byte jobu = (byte) (U == null ? 'N' : 'A');
  9. byte jobvt = (byte) (VT == null ? 'N' : 'A');
  10. INDArray INFO = Nd4j.createArrayFromShapeBuffer(Nd4j.getDataBufferFactory().createInt(1),
  11. Nd4j.getShapeInfoProvider().createShapeInformation(new int[] {1, 1}).getFirst());
  12. if (A.data().dataType() == DataBuffer.Type.DOUBLE)
  13. dgesvd(jobu, jobvt, m, n, A, S, U, VT, INFO);
  14. else if (A.data().dataType() == DataBuffer.Type.FLOAT)
  15. sgesvd(jobu, jobvt, m, n, A, S, U, VT, INFO);
  16. else
  17. throw new UnsupportedOperationException();
  18. if (INFO.getInt(0) < 0) {
  19. throw new Error("Parameter #" + INFO.getInt(0) + " to gesvd() was not valid");
  20. } else if (INFO.getInt(0) > 0) {
  21. log.warn("The matrix contains singular elements. Check S matrix at row " + INFO.getInt(0));
  22. }
  23. }

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

  1. @Override
  2. public void geqrf(INDArray A, INDArray R) {
  3. // FIXME: int cast
  4. if (A.rows() > Integer.MAX_VALUE || A.columns() > Integer.MAX_VALUE)
  5. throw new ND4JArraySizeException();
  6. int m = (int) A.rows();
  7. int n = (int) A.columns();
  8. INDArray INFO = Nd4j.createArrayFromShapeBuffer(Nd4j.getDataBufferFactory().createInt(1),
  9. Nd4j.getShapeInfoProvider().createShapeInformation(new int[] {1, 1}).getFirst());
  10. if (R.rows() != A.columns() || R.columns() != A.columns()) {
  11. throw new Error("geqrf: R must be N x N (n = columns in A)");
  12. }
  13. if (A.data().dataType() == DataBuffer.Type.DOUBLE) {
  14. dgeqrf(m, n, A, R, INFO);
  15. } else if (A.data().dataType() == DataBuffer.Type.FLOAT) {
  16. sgeqrf(m, n, A, R, INFO);
  17. } else {
  18. throw new UnsupportedOperationException();
  19. }
  20. if (INFO.getInt(0) < 0) {
  21. throw new Error("Parameter #" + INFO.getInt(0) + " to getrf() was not valid");
  22. }
  23. }

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

  1. Nd4j.getMemoryManager().memcpy(buffer, this.data());
  2. copy = Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInfoDataBuffer());
  3. } else {
  4. copy = this.dup(this.ordering());

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

  1. return Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInfoDataBuffer());
  2. } else {
  3. INDArray copy = Nd4j.createUninitialized(this.shape(), this.ordering());
  4. copy = Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInfoDataBuffer()); //this.dup(this.ordering());

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

  1. Nd4j.getMemoryManager().memcpy(buffer, this.data());
  2. copy = Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInfoDataBuffer());
  3. } else {
  4. copy = this.dup(this.ordering());

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

  1. Nd4j.getMemoryManager().memcpy(buffer, this.data());
  2. copy = Nd4j.createArrayFromShapeBuffer(buffer, this.shapeInfoDataBuffer());
  3. } else {
  4. copy = this.dup(this.ordering());

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

  1. @Override
  2. public INDArray bitmapEncode(INDArray indArray, double threshold) {
  3. DataBuffer buffer = Nd4j.getDataBufferFactory().createInt(indArray.length() / 16 + 5);
  4. INDArray ret = Nd4j.createArrayFromShapeBuffer(buffer, indArray.shapeInfoDataBuffer());
  5. bitmapEncode(indArray, ret, threshold);
  6. return ret;
  7. }

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

  1. @Override
  2. public INDArray compress(INDArray array) {
  3. //logger.info("Threshold [{}] compression", threshold);
  4. Nd4j.getExecutioner().commit();
  5. //Nd4j.getAffinityManager().ensureLocation(array, AffinityManager.Location.HOST);
  6. DataBuffer buffer = compress(array.data());
  7. if (buffer == null)
  8. return null;
  9. INDArray dup = Nd4j.createArrayFromShapeBuffer(buffer, array.shapeInfoDataBuffer());
  10. dup.markAsCompressed(true);
  11. return dup;
  12. }

相关文章