本文整理了Java中org.nd4j.linalg.factory.Nd4j.getBackend()
方法的一些代码示例,展示了Nd4j.getBackend()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Nd4j.getBackend()
方法的具体详情如下:
包路径:org.nd4j.linalg.factory.Nd4j
类名称:Nd4j
方法名:getBackend
暂无
代码示例来源:origin: deeplearning4j/nd4j
public static Cloner newCloner() {
Cloner cloner = new Cloner();
//Implement custom cloning for INDArrays (default can have problems with off-heap and pointers)
//Sadly: the cloner library does NOT support interfaces here, hence we need to use the actual classes
//cloner.registerFastCloner(INDArray.class, new INDArrayFastCloner()); //Does not work due to interface
IFastCloner fc = new INDArrayFastCloner();
cloner.registerFastCloner(Nd4j.getBackend().getNDArrayClass(), fc);
cloner.registerFastCloner(Nd4j.getBackend().getComplexNDArrayClass(), fc);
//Same thing with DataBuffers: off heap -> cloner library chokes on them, but need to know the concrete
// buffer classes, not just the interface
IFastCloner fc2 = new DataBufferFastCloner();
DataBufferFactory d = Nd4j.getDataBufferFactory();
doReg(cloner, fc2, d.intBufferClass());
doReg(cloner, fc2, d.longBufferClass());
doReg(cloner, fc2, d.halfBufferClass());
doReg(cloner, fc2, d.floatBufferClass());
doReg(cloner, fc2, d.doubleBufferClass());
doReg(cloner, fc2, CompressedDataBuffer.class);
return cloner;
}
代码示例来源:origin: org.nd4j/nd4j-tensorflow
/**
* Infers the device for the given thread
* based on the {@link Nd4j#getAffinityManager()}
* Usually, this will either be a gpu or cpu
* reserved for the current device.
* You can think of the "current thread"
* as a worker. This is mainly useful with multiple gpus
* @return
*/
public static String defaultDeviceForThread() {
Integer deviceForThread = Nd4j.getAffinityManager().getDeviceForThread(Thread.currentThread());
String deviceName = null;
//gpu
if(Nd4j.getBackend().getClass().getName().contains("JCublasBackend")) {
deviceName = "/device:gpu:" + deviceForThread;
}
else {
deviceName = "/device:cpu:" + deviceForThread;
}
return deviceName;
}
代码示例来源:origin: org.nd4j/nd4j-kryo_2.11
@Override
public void registerClasses(Kryo kryo) {
kryo.register(Nd4j.getBackend().getNDArrayClass(), new Nd4jSerializer());
kryo.register(Nd4j.getBackend().getComplexNDArrayClass(), new Nd4jSerializer());
//Also register Java types (synchronized/unmodifiable collections), which will fail by default
UnmodifiableCollectionsSerializer.registerSerializers(kryo);
SynchronizedCollectionsSerializer.registerSerializers(kryo);
}
}
代码示例来源:origin: org.nd4j/nd4j-tensorflow
public static org.tensorflow.framework.ConfigProto getAlignedWithNd4j() {
org.tensorflow.framework.ConfigProto configProto = org.tensorflow.framework.ConfigProto.getDefaultInstance();
ConfigProto.Builder builder1 = configProto.toBuilder().addDeviceFilters(TensorflowConversion.defaultDeviceForThread());
try {
//cuda
if(Nd4j.getBackend().getClass().getName().toLowerCase().contains("jcu")) {
builder1.setGpuOptions(GPUOptions.newBuilder()
.setAllowGrowth(true)
.setPerProcessGpuMemoryFraction(0.5)
.build());
}
//cpu
else {
}
} catch (Exception e) {
e.printStackTrace();
}
return builder1.build();
}
内容来源于网络,如有侵权,请联系作者删除!