【问题标题】:How can I make sure that my tensorFlow Java program is using my GPU on Windows?如何确保我的 tensorFlow Java 程序在 Windows 上使用我的 GPU?
【发布时间】:2020-02-04 17:20:29
【问题描述】:

所以我在 Windows 中实现了用于 CPU 的 Java tensorFlow。现在 tf 1.10 之后的版本允许在 Windows 中进行 GPU 计算,我尝试建立连接。 现在在 maven pom 中,我调用 tensorflow_jni_gpu 而不是 tensorflow_jni。该程序没有失败,但计算似乎没有任何差异。如何检查我的程序是否正在使用 GPU,或者如何强制它使用它?

【问题讨论】:

    标签: java windows tensorflow gpu inference


    【解决方案1】:

    要使用 GPU,您应该在 POM 中使用以下依赖项来处理 libtensorflow 而不是 tensorflow: `

    <dependency>
        <groupId>org.tensorflow</groupId>
        <artifactId>libtensorflow</artifactId>
        <version>1.15.0</version>
    </dependency>
    
    <dependency>
        <groupId>org.tensorflow</groupId>
        <artifactId>libtensorflow_jni_gpu</artifactId>
        <version>1.15.0</version>
    </dependency>
    
    <dependency>
        <groupId>org.tensorflow</groupId>
        <artifactId>proto</artifactId>
        <version>1.15.0</version>
    </dependency>
    

    `

    以下代码:

    byte[] config = ConfigProto.newBuilder()
                .setGpuOptions(GPUOptions.newBuilder().setAllowGrowth(true))
                .build().toByteArray();       
        final Runner runner = Session.runner();
        runner.setOptions(config);
    

    要知道它是在 CPU 还是 GPU 上运行,您应该在应用程序日志中看到它,要么没有针对某些 CPU 指令构建 tensorflow,要么 tensorflow 设法加载 CUDA dll 或其他关于操作系统的

    【讨论】:

    • 那么知道GPU分配是否正确的唯一方法是通过日志?无法通过命令检索正在使用的 GPU?
    猜你喜欢
    • 1970-01-01
    • 2018-12-09
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2018-10-02
    相关资源
    最近更新 更多