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

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

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

Nd4j.getBackend介绍

暂无

代码示例

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

  1. public static Cloner newCloner() {
  2. Cloner cloner = new Cloner();
  3. //Implement custom cloning for INDArrays (default can have problems with off-heap and pointers)
  4. //Sadly: the cloner library does NOT support interfaces here, hence we need to use the actual classes
  5. //cloner.registerFastCloner(INDArray.class, new INDArrayFastCloner()); //Does not work due to interface
  6. IFastCloner fc = new INDArrayFastCloner();
  7. cloner.registerFastCloner(Nd4j.getBackend().getNDArrayClass(), fc);
  8. cloner.registerFastCloner(Nd4j.getBackend().getComplexNDArrayClass(), fc);
  9. //Same thing with DataBuffers: off heap -> cloner library chokes on them, but need to know the concrete
  10. // buffer classes, not just the interface
  11. IFastCloner fc2 = new DataBufferFastCloner();
  12. DataBufferFactory d = Nd4j.getDataBufferFactory();
  13. doReg(cloner, fc2, d.intBufferClass());
  14. doReg(cloner, fc2, d.longBufferClass());
  15. doReg(cloner, fc2, d.halfBufferClass());
  16. doReg(cloner, fc2, d.floatBufferClass());
  17. doReg(cloner, fc2, d.doubleBufferClass());
  18. doReg(cloner, fc2, CompressedDataBuffer.class);
  19. return cloner;
  20. }

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

  1. /**
  2. * Infers the device for the given thread
  3. * based on the {@link Nd4j#getAffinityManager()}
  4. * Usually, this will either be a gpu or cpu
  5. * reserved for the current device.
  6. * You can think of the "current thread"
  7. * as a worker. This is mainly useful with multiple gpus
  8. * @return
  9. */
  10. public static String defaultDeviceForThread() {
  11. Integer deviceForThread = Nd4j.getAffinityManager().getDeviceForThread(Thread.currentThread());
  12. String deviceName = null;
  13. //gpu
  14. if(Nd4j.getBackend().getClass().getName().contains("JCublasBackend")) {
  15. deviceName = "/device:gpu:" + deviceForThread;
  16. }
  17. else {
  18. deviceName = "/device:cpu:" + deviceForThread;
  19. }
  20. return deviceName;
  21. }

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

  1. @Override
  2. public void registerClasses(Kryo kryo) {
  3. kryo.register(Nd4j.getBackend().getNDArrayClass(), new Nd4jSerializer());
  4. kryo.register(Nd4j.getBackend().getComplexNDArrayClass(), new Nd4jSerializer());
  5. //Also register Java types (synchronized/unmodifiable collections), which will fail by default
  6. UnmodifiableCollectionsSerializer.registerSerializers(kryo);
  7. SynchronizedCollectionsSerializer.registerSerializers(kryo);
  8. }
  9. }

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

  1. public static org.tensorflow.framework.ConfigProto getAlignedWithNd4j() {
  2. org.tensorflow.framework.ConfigProto configProto = org.tensorflow.framework.ConfigProto.getDefaultInstance();
  3. ConfigProto.Builder builder1 = configProto.toBuilder().addDeviceFilters(TensorflowConversion.defaultDeviceForThread());
  4. try {
  5. //cuda
  6. if(Nd4j.getBackend().getClass().getName().toLowerCase().contains("jcu")) {
  7. builder1.setGpuOptions(GPUOptions.newBuilder()
  8. .setAllowGrowth(true)
  9. .setPerProcessGpuMemoryFraction(0.5)
  10. .build());
  11. }
  12. //cpu
  13. else {
  14. }
  15. } catch (Exception e) {
  16. e.printStackTrace();
  17. }
  18. return builder1.build();
  19. }

相关文章