1

当我尝试将Flair标记器与通用句子编码器(USE) 结合使用以嵌入在 CPU 和 GPU 上运行良好的所有内容时,会产生错误:

self._session = tf_session.TF_NewSessionRef(self._graph.c_graph, opts)
tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

我知道 CUDA、CUDA 运行时、cuDNN 是正确的,因为我使用了documantion进行了检查。我使用了 Docker,所以我确定他们的版本。TF.Session 设置为允许 gpu 增长。

奇怪的是,只使用 Flair 有效,只使用 TensorFlow(没有导入 Flair)效果很好。版本出现问题:

torch==1.3.1
tensorflow-gpu==1.14.0
tensorflow-hub==0.7.0
numpy==1.17.1
flair==0.4.4
4

1 回答 1

0

问题似乎只是在 TF 之前导入 Flair 库并且它阻止了它使用 GPU 的尝试。

最近他们纠正了他们的错误。因此,如果可能的话,我建议使用 Flair 0.4.5 或更高版本。

如果由于某种原因您仍然需要使用 Flair 0.4.4 版,我发现这很好用:始终在导入 Flair 之前导入 tensorflow(即使您没有在当前文件中使用它)。

该版本在 Pillow 和 torchvision 软件包方面也存在问题。我建议在版本中安装它们:Pillow==6.2.1torchvision==0.4.2. 希望它会有用。如果之前有这样的帖子存在,它将为我节省几天的调试时间。

于 2020-01-31T13:01:57.497 回答