原始 MediaWiki 页面

我知道编辑这个网站吗?

TensorFlow-GPU

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

此页面上的注释与 imagej-tensorflow 库的任何工具相关(例如更新站点 imagej-tensorflowCSBDeep)。

如何安装 TensorFlow GPU 原生库

GPU 支持适用于配备 NVIDIA 显卡的 Linux 和 Windows 计算机。请注意,TensorFlow Java 本机绑定被认为是实验性的,虽然某些硬件/操作系统设置可以使用本页描述的轻松工具获得 GPU 支持,但在其他机器上我们没有成功。

1.安装支持Java的GPU的TensorFlow

1.开放Edit > Options > TensorFlow... 2.选择与您的系统匹配的 TensorFlow 版本 3.等待库下载并安装(完成后会弹出窗口告诉您) 4.重启斐济

Edit > Options > TensorFlow...

例如,您可以通过找到已选择的选项(在屏幕截图中,TF 1.15.0 CPU)从CPU切换到GPU,并选择相同的TensorFlow版本但支持GPU(例如TF 1.15.0 GPU)。

2.安装CUDA®工具包和cuDNN

安装这些 NVIDIA 要求运行具有 GPU 支持的 TensorFlow,如第 TensorFlow Documentation 中所述。

需要安装哪些特定的 CUDA 和 cuDNN 版本?

ImageJ TensorFlow 安装程序中显示的 CUDA 和 CuDNN 版本(如上图所示)可帮助您设置正确的环境。

译文:CSBDeep更新节点附有TensorFlow 1.16.0,需要CUDA 10.1cuDNN >= 7.5.1

您还可以使用屏幕顶部的过滤器来过滤特定的 TensorFlow 或 CUDA 版本,或仅首发支持 GPU 的库。 注意:如果您在不同的 TensorFlow 版本上训练模型,则使用默认安装运行模型可能会失败。在这种情况下,请通过Edit > Options > TensorFlow...选择特定的 TensorFlow 版本,并安装与 TensorFlow 版本兼容的 CUDA 和 cuDNN。

3. 如何检查 GPU 支持是否有效

  • 转到Edit > Options > TensorFlow...并确保选择了 GPU 版本并且没有显示错误
  • 使用imagej-tensorflow运行命令时,可以通过Window > Console打开控制台。可能有与此类似的行(在本例中,没有手动安装 GPU 版本,因此使用默认的 CPU TensorFlow 版本):

    [INFO] No TF library found in /media/data/Programs/Fiji.app/lib/. [INFO] Using default TensorFlow version from JAR: TF 1.15.0 CPU </code>

  • 有时这仍然不够,即使选择了正确的库并且控制台确认了这一点,GPU也没有被使用。请阅读下面针对特定操作系统的注释。

3.1 Windows 提示

分步示例

以下是成功安装GPU支持的分步示例:

  • 按照 here 的说明为您的系统安装最新的 Nvidia 驱动程序
  • 在斐济,打开Edit > Options > TensorFlow...并切换到 TF 1.15.0 GPU
  • here安装CUDA 10.1
  • here下载cuDNN 7.6.5 for CUDA 10.1(您需要注册/登录)
  • 将 cuDNN 文件从 ZIP 复制到 CUDA,如here所述
  • /PATH/TO/Fiji.app/lib/win64/tensorflow_jni.dll添加到您的PATH中(这是指南how to set system variables

您应该设置的变量是这两个。通常,CUDA 在您安装时将为您完成此操作。 System Environment Variables

以及对 PATH 系统变量添加以下内容。 PATH variable content

如果重新启动斐济后,您选择了 GPU 版本,但菜单Edit > Options > TensorFlow...仍然显示 CPU 版本(控制台窗口Window > Console中还报告一条消息,指出在 lib/win64 目录中缺少 TensorFlow),那么您可以尝试将 dll tensorflow_jni.dllFiji.app/lib/win64中的原始位置移动到斐济的根目录(通常包含斐济的 exe 的目录)斐济.app)。

3.2 Linux 提示

分步示例

  • 按照 here 的说明为您的系统安装最新的 Nvidia 驱动程序
  • 在斐济,打开Edit > Options > TensorFlow...并切换到 TF 1.15.0 GPU
  • here安装CUDA 10.1中选择您使用的Linux版本。
  • here下载cuDNN 7.6.5 for CUDA 10.1(您需要注册/登录)再次,从文档中选择适合您系统的版本,默认为Linux。
  • 将 cuDNN 文件从 ZIP 复制到 CUDA,如here所述

####设置库路径

CUDAcuDNN 需要添加到您的系统变量中,斐济才能使用它们。您可以通过在 .bashrc.zshrc文件中添加与此类似的行来实现此目的: export PATH=/usr/local/cuda/bin${PATH} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} ..然后从命令行启动Fiji。另一种可能性工具Fiji启动器编辑如下所示: export PATH=/usr/local/cuda/bin${PATH};export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH};/PATH_TO_APPS/Fiji.app/ImageJ-linux64 ####多个GPU

如果您有多个启用 CUDA 的 GPU,您可能需要设置环境变量 CUDA_VISIBLE_DEVICES 来指定应使用的 GPU。

由于 CUDA 将尝试按速度枚举 GPU $ export CUDA_VISIBLE_DEVICES=0 应该只给你最快的 GPU。在启动 Fiji 之前执行此行,或将其放入 ~/.bashrc 中,或在其他位置设置环境变量,如 ~/.pam_environment 中。有关如何设置环境变量的选项,请参阅发行版的文档。

任选:

如果这对于您的设置来说还不够。可以通过以下方式找到GPU的ID(按PCI进程顺序): $ nvidia-smi Thu Sep 14 17:39:33 2017
+—————————————————————————–+ | NVIDIA-SMI 375.66 Driver Version: 375.66 | |——————————-+———————-+———————-+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 NVS 310 Off | 0000:A1:00.0 N/A | N/A | | 30% 56C P0 N/A / N/A | 294MiB / 961MiB | N/A Default | +——————————-+———————-+———————-+ | 1 TITAN Xp Off | 0000:03:00.0 Off | N/A | | 23% 28C P8 9W / 250W | 1MiB / 12189MiB | 0% Default | +——————————-+———————-+———————-+ 并设置环境指标CUDA_DEVICE_ORDER: $ export CUDA_DEVICE_ORDER="PCI_BUS_ID" $ export CUDA_VISIBLE_DEVICES=1 有关详细信息,请参阅CUDA Programming Guide

帮助

是不是有什么东西不起作用了?请发表您的问题in the forum