当前位置: 首页>>代码示例>>Java>>正文


Java AffinityManager类代码示例

本文整理汇总了Java中org.nd4j.linalg.api.concurrency.AffinityManager的典型用法代码示例。如果您正苦于以下问题:Java AffinityManager类的具体用法?Java AffinityManager怎么用?Java AffinityManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AffinityManager类属于org.nd4j.linalg.api.concurrency包,在下文中一共展示了AffinityManager类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: compress

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public INDArray compress(INDArray array) {
    //logger.info("Threshold [{}] compression", threshold);

    Nd4j.getExecutioner().commit();
    Nd4j.getAffinityManager().ensureLocation(array, AffinityManager.Location.HOST);

    DataBuffer buffer = compress(array.data());
    if (buffer == null)
        return null;

    INDArray dup = Nd4j.createArrayFromShapeBuffer(buffer, array.shapeInfoDataBuffer());
    dup.markAsCompressed(true);

    return dup;
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:17,代码来源:CpuThreshold.java

示例2: doByteBufferPutUnCompressed

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
/**
 * Setup the given byte buffer
 * for serialization (note that this is for uncompressed INDArrays)
 * 4 bytes int for rank
 * 4 bytes for data opType
 * shape buffer
 * data buffer
 *
 * @param arr the array to setup
 * @param allocated the byte buffer to setup
 * @param rewind whether to rewind the byte buffer or nt
 */
public static void doByteBufferPutUnCompressed(INDArray arr, ByteBuffer allocated, boolean rewind) {
    // ensure we send data to host memory
    Nd4j.getExecutioner().commit();
    Nd4j.getAffinityManager().ensureLocation(arr, AffinityManager.Location.HOST);

    ByteBuffer buffer = arr.data().pointer().asByteBuffer().order(ByteOrder.nativeOrder());
    ByteBuffer shapeBuffer = arr.shapeInfoDataBuffer().pointer().asByteBuffer().order(ByteOrder.nativeOrder());
    //2 four byte ints at the beginning
    allocated.putInt(arr.rank());
    //put data opType next so its self describing
    allocated.putInt(arr.data().dataType().ordinal());
    allocated.put(shapeBuffer);
    allocated.put(buffer);
    if (rewind)
        allocated.rewind();
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:29,代码来源:BinarySerde.java

示例3: call

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public void call(DataSet dataSet) {
    if (dataSet != null) {
        if (dataSet.getFeatures() != null)
            Nd4j.getAffinityManager().ensureLocation(dataSet.getFeatures(), AffinityManager.Location.DEVICE);

        if (dataSet.getLabels() != null)
            Nd4j.getAffinityManager().ensureLocation(dataSet.getLabels(), AffinityManager.Location.DEVICE);

        if (dataSet.getFeaturesMaskArray() != null)
            Nd4j.getAffinityManager().ensureLocation(dataSet.getFeaturesMaskArray(),
                            AffinityManager.Location.DEVICE);

        if (dataSet.getLabelsMaskArray() != null)
            Nd4j.getAffinityManager().ensureLocation(dataSet.getLabelsMaskArray(), AffinityManager.Location.DEVICE);
    }
}
 
开发者ID:deeplearning4j,项目名称:deeplearning4j,代码行数:18,代码来源:DefaultCallback.java

示例4: next

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public List<Writable> next() {
    if (iter != null) {
        List<Writable> ret;
        File image = iter.next();
        currentFile = image;

        if (image.isDirectory())
            return next();
        try {
            invokeListeners(image);
            INDArray row = imageLoader.asMatrix(image);
            Nd4j.getAffinityManager().ensureLocation(row, AffinityManager.Location.DEVICE);
            ret = RecordConverter.toRecord(row);
            if (appendLabel || writeLabel){
                if( labelGenerator.inferLabelClasses()){
                    //Standard classification use case (i.e., handle String -> integer conversion
                    ret.add(new IntWritable(labels.indexOf(getLabel(image.getPath()))));
                } else {
                    //Regression use cases, and PathLabelGenerator instances that already map to integers
                    ret.add(labelGenerator.getLabelForPath(image.getPath()));
                }
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return ret;
    } else if (record != null) {
        hitImage = true;
        invokeListeners(record);
        return record;
    }
    throw new IllegalStateException("No more elements");
}
 
开发者ID:deeplearning4j,项目名称:DataVec,代码行数:35,代码来源:BaseImageRecordReader.java

示例5: compress

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public DataBuffer compress(DataBuffer buffer) {
    INDArray temp = Nd4j.createArrayFromShapeBuffer(buffer, Nd4j.getShapeInfoProvider().createShapeInformation(new int[]{1, (int) buffer.length()}));
    double max = temp.amaxNumber().doubleValue();

    int cntAbs = temp.scan(Conditions.absGreaterThanOrEqual(max - (max * threshold))).intValue();

    long originalLength = buffer.length() * Nd4j.sizeOfDataType(buffer.dataType());
    int compressedLength = cntAbs + 3;
    // first 3 elements contain header
    IntPointer pointer = new IntPointer(compressedLength);
    pointer.put(0, cntAbs);
    pointer.put(1, (int) buffer.length());
    pointer.put(2, Float.floatToIntBits(threshold)); // please note, this value will be ovewritten anyway

    CompressionDescriptor descriptor = new CompressionDescriptor();
    descriptor.setCompressedLength(compressedLength * 4); // sizeOf(INT)
    descriptor.setOriginalLength(originalLength);
    descriptor.setOriginalElementSize(Nd4j.sizeOfDataType(buffer.dataType()));
    descriptor.setNumberOfElements(buffer.length());

    descriptor.setCompressionAlgorithm(getDescriptor());
    descriptor.setCompressionType(getCompressionType());

    CompressedDataBuffer cbuff = new CompressedDataBuffer(pointer, descriptor);

    Nd4j.getNDArrayFactory().convertDataEx(getBufferTypeEx(buffer), buffer.addressPointer(), DataBuffer.TypeEx.FTHRESHOLD, pointer, buffer.length());

    Nd4j.getAffinityManager().tagLocation(buffer, AffinityManager.Location.HOST);

    return cbuff;
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:33,代码来源:CudaFlexibleThreshold.java

示例6: compress

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public DataBuffer compress(DataBuffer buffer) {
    INDArray temp = Nd4j.createArrayFromShapeBuffer(buffer, Nd4j.getShapeInfoProvider().createShapeInformation(new int[]{1, (int) buffer.length()}).getFirst());
    double max = temp.amaxNumber().doubleValue();

    int cntAbs = temp.scan(Conditions.absGreaterThanOrEqual(max - (max * threshold))).intValue();

    long originalLength = buffer.length() * Nd4j.sizeOfDataType(buffer.dataType());
    int compressedLength = cntAbs + 4;
    // first 3 elements contain header
    IntPointer pointer = new IntPointer(compressedLength);
    pointer.put(0, cntAbs);
    pointer.put(1, (int) buffer.length());
    pointer.put(2, Float.floatToIntBits(threshold)); // please note, this value will be ovewritten anyway
    pointer.put(3, 0);

    CompressionDescriptor descriptor = new CompressionDescriptor();
    descriptor.setCompressedLength(compressedLength * 4); // sizeOf(INT)
    descriptor.setOriginalLength(originalLength);
    descriptor.setOriginalElementSize(Nd4j.sizeOfDataType(buffer.dataType()));
    descriptor.setNumberOfElements(buffer.length());

    descriptor.setCompressionAlgorithm(getDescriptor());
    descriptor.setCompressionType(getCompressionType());

    CompressedDataBuffer cbuff = new CompressedDataBuffer(pointer, descriptor);

    Nd4j.getNDArrayFactory().convertDataEx(getBufferTypeEx(buffer), buffer.addressPointer(), DataBuffer.TypeEx.FTHRESHOLD, pointer, buffer.length());

    Nd4j.getAffinityManager().tagLocation(buffer, AffinityManager.Location.HOST);

    return cbuff;
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:34,代码来源:CpuFlexibleThreshold.java

示例7: next

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public List<Writable> next(int num) {
    List<File> files = new ArrayList<>(num);
    List<List<ImageObject>> objects = new ArrayList<>(num);

    for (int i = 0; i < num && hasNext(); i++) {
        File f = iter.next();
        this.currentFile = f;
        if (!f.isDirectory()) {
            files.add(f);
            objects.add(labelProvider.getImageObjectsForPath(f.getPath()));
        }
    }


    int nClasses = labels.size();

    INDArray outImg = Nd4j.create(files.size(), channels, height, width);
    INDArray outLabel = Nd4j.create(files.size(), 4 + nClasses, gridH, gridW);

    int exampleNum = 0;
    for (int i = 0; i < files.size(); i++) {
        File imageFile = files.get(i);
        this.currentFile = imageFile;
        try {
            this.invokeListeners(imageFile);
            Image image = this.imageLoader.asImageMatrix(imageFile);
            this.currentImage = image;
            Nd4j.getAffinityManager().ensureLocation(image.getImage(), AffinityManager.Location.DEVICE);

            outImg.put(new INDArrayIndex[]{point(exampleNum), all(), all(), all()}, image.getImage());

            List<ImageObject> objectsThisImg = objects.get(exampleNum);

            label(image, objectsThisImg, outLabel, exampleNum);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        exampleNum++;
    }

    return Arrays.<Writable>asList(new NDArrayWritable(outImg), new NDArrayWritable(outLabel));
}
 
开发者ID:deeplearning4j,项目名称:DataVec,代码行数:45,代码来源:ObjectDetectionRecordReader.java

示例8: thresholdEncode

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
@Override
public INDArray thresholdEncode(INDArray input, double threshold, Integer boundary) {

    MatchCondition condition = new MatchCondition(input, Conditions.absGreaterThanOrEqual(threshold));
    int cntAbs = Nd4j.getExecutioner().exec(condition, Integer.MAX_VALUE).getInt(0);

    if (cntAbs < 2)
        return null;

    if (boundary != null)
        cntAbs = Math.min(cntAbs, boundary);

    DataBuffer buffer = input.data();

    long originalLength = buffer.length() * Nd4j.sizeOfDataType(buffer.dataType());
    int compressedLength = cntAbs + 4;
    // first 3 elements contain header

    DataBuffer encodedBuffer = Nd4j.getMemoryManager().getCurrentWorkspace() == null ? Nd4j.getDataBufferFactory().createInt(4+cntAbs, false) : Nd4j.getDataBufferFactory().createInt(4+cntAbs, false, Nd4j.getMemoryManager().getCurrentWorkspace());

    encodedBuffer.put(0, cntAbs);
    encodedBuffer.put(1, (int) buffer.length());
    encodedBuffer.put(2, Float.floatToIntBits((float) threshold));

    // format id
    encodedBuffer.put(3, ThresholdCompression.FLEXIBLE_ENCODING);

    CompressionDescriptor descriptor = new CompressionDescriptor();
    descriptor.setCompressedLength(compressedLength * 4); // sizeOf(INT)
    descriptor.setOriginalLength(originalLength);
    descriptor.setOriginalElementSize(Nd4j.sizeOfDataType(buffer.dataType()));
    descriptor.setNumberOfElements(buffer.length());

    descriptor.setCompressionAlgorithm("THRESHOLD");
    descriptor.setCompressionType(CompressionType.LOSSLESS);

    //CompressedDataBuffer cbuff = new CompressedDataBuffer(pointer, descriptor);

    Nd4j.getNDArrayFactory().convertDataEx(AbstractCompressor.getBufferTypeEx(buffer), buffer.addressPointer(), DataBuffer.TypeEx.THRESHOLD, encodedBuffer.addressPointer(), buffer.length());

    Nd4j.getAffinityManager().tagLocation(buffer, AffinityManager.Location.HOST);

    return Nd4j.createArrayFromShapeBuffer(encodedBuffer, input.shapeInfoDataBuffer());
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:45,代码来源:NativeOpExecutioner.java

示例9: getAffinityManager

import org.nd4j.linalg.api.concurrency.AffinityManager; //导入依赖的package包/类
/**
 *
 * @return
 */
public static AffinityManager getAffinityManager() {
    return affinityManager;
}
 
开发者ID:deeplearning4j,项目名称:nd4j,代码行数:8,代码来源:Nd4j.java


注:本文中的org.nd4j.linalg.api.concurrency.AffinityManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。