TensorFlow 1.3 ROCm端口:无法打开'_pywrap_tensorflow_internal'

时间:2018-07-20 19:29:31

标签: python tensorflow ubuntu-16.04 amd-rocm

在Ubuntu 16.04.4中,我根据“安装必需的python软件包”中的说明安装了TensorFlow 1.3 ROCm端口(用于AMD Radeon RX Vega 64)

https://github.com/ROCmSoftwarePlatform/tensorflow/blob/rocm-v1/rocm_docs/tensorflow-install-basic.md

我以前根据的说明从AMD Debian存储库中安装了ROCm。

https://github.com/RadeonOpenCompute/ROCm

然后,使用pip在没有虚拟化的情况下安装TF .whl软件包:

$ wget http://repo.radeon.com/rocm/misc/tensorflow/tensorflow-1.3.0-cp27-cp27mu-manylinux1_x86_64.whl
$ sudo python -m pip install tensorflow-1.3.0-cp27-cp27mu-manylinux1_x86_64.whl

当我尝试使用验证安装

$ python -c "import tensorflow as tf; print(tf.__version__)"

我收到以下错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
ImportError: libCXLActivityLogger.so: cannot open shared object file: No such file or directory

我确认存在_pywrap_tensorflow_internal.so:

$ find / -name \*pywrap\* -ls 2>/dev/null
 27526810      4 -rw-r--r--   1 root     staff        2558 Jul 20 11:41 /usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py
 27526811      4 -rw-r--r--   1 root     staff        1312 Jul 20 11:41 /usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.pyc
 27526813     92 -rw-r--r--   1 root     staff       93912 Jul 20 11:41 /usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.pyc
 27526815 227172 -rwxr-xr-x   1 root     staff   232620600 Jul 20 11:41 /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so
 27526816     72 -rw-r--r--   1 root     staff       70386 Jul 20 11:41 /usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py

还检查了我的方向盘和点子版本:

$ pip list | grep wheel
wheel                        0.29.0
$ pip -V
pip 10.0.1 from ---- python2.7/site-packages/pip (python 2.7)

乍一看,似乎没有设置任何环境变量,因此不会在正确的路径上搜索_pywrap_tensorflow_internal.so。任何人都可以告诉我是否是这种情况-或问题的根源是否在其他地方?我进行了一些搜索,结果基本上是空的。预先感谢您的任何有用答复。

1 个答案:

答案 0 :(得分:2)

您的直接问题是缺少库文件libCXLActivityLogger.so,因为您可能从未安装过。在Ubuntu上,假设您已经添加了ROCm软件存储库,则可以使用以下方法获取并安装该库:

$ sudo apt-get install cxlactivitylogger

但是,您可能随后会发现您缺少运行TensorFlow所需的其他库。根据{{​​3}}上的说明安装ROCm时,您仅安装了“核心” ROCm软件包,因此您缺少运行ROCm TensorFlow所需的一些其他ROCm软件组件(例如MIOpen,rocroc,rocFFT)等)。要安装这些其他库,请遵循您忽略的说明:

https://github.com/RadeonOpenCompute/ROCm

具体来说,该命令将安装运行TensorFlow所需的所有ROCm软件包:

$ sudo apt-get update && \
      sudo apt-get install -y --allow-unauthenticated \
      rocm-dkms rocm-dev rocm-libs \
      rocm-device-libs \
      hsa-ext-rocr-dev hsakmt-roct-dev hsa-rocr-dev \
      rocm-opencl rocm-opencl-dev \
      rocm-utils \
      rocm-profiler cxlactivitylogger \
      miopen-hip miopengemm