Ошибка при импорте tflearn: «Ошибка импорта: модуль с именем contrib.framework отсутствует. python .ops» - PullRequest
0 голосов
/ 21 января 2020

Чтобы дать некоторый контекст, я пытаюсь запустить обучение этого репозитория Github: https://github.com/nywang16/Pixel2Mesh (! python train.py)

Я использую Google Colab с Python2 и GPU (в настройках Run)

В моем процессе отладки с помощью комментариев по вопросам, связанным с репо (например, https://github.com/nywang16/Pixel2Mesh/issues/39), Я уже изменил make-файл и установил версию tenorflow для графического процессора (! Pip install tenorflow-gpu == 1.3)

, но теперь у меня возникает следующая ошибка, и я не могу понять, как ее решить! (tflearn уже установлен)

```
Traceback (most recent call last):
  File "train.py", line 19, in <module>
    from p2m.models import GCN
  File "/content/gdrive/My Drive/MVA/RecVis/Project/Pixel2Mesh-master/p2m/models.py", line 18, in <module>
    import tflearn
  File "/usr/local/lib/python2.7/dist-packages/tflearn/__init__.py", line 4, in <module>
    from . import config
  File "/usr/local/lib/python2.7/dist-packages/tflearn/config.py", line 5, in <module>
    from .variables import variable
  File "/usr/local/lib/python2.7/dist-packages/tflearn/variables.py", line 7, in <module>
    from tensorflow.contrib.framework.python.ops import add_arg_scope as contrib_add_arg_scope
ImportError: No module named contrib.framework.python.ops
```

А вот мой модифицированный make-файл:

```
nvcc= /usr/local/cuda-10.0/bin/nvcc
cudalib = /usr/local/cuda-10.0/lib64
tensorflow=/usr/local/lib/python2.7/dist-packages/tensorflow_core/include

TF_LIB=/usr/local/lib/python2.7/dist-packages/tensorflow_core

all: tf_approxmatch_so.so tf_approxmatch_g.cu.o tf_nndistance_so.so tf_nndistance_g.cu.o


tf_approxmatch_so.so: tf_approxmatch_g.cu.o tf_approxmatch.cpp
    g++ -std=c++11 tf_approxmatch.cpp tf_approxmatch_g.cu.o -o tf_approxmatch_so.so -shared -fPIC -L$(TF_LIB) -l:libtensorflow_framework.so.1 -I $(tensorflow) -lcudart -L $(cudalib) -O2 -D_GLIBCXX_USE_CXX11_ABI=0


tf_approxmatch_g.cu.o: tf_approxmatch_g.cu
    $(nvcc) -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c -o tf_approxmatch_g.cu.o tf_approxmatch_g.cu -L$(TF_LIB) -l:libtensorflow_framework.so.1 -I $(tensorflow) -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -O2


tf_nndistance_so.so: tf_nndistance_g.cu.o tf_nndistance.cpp
    g++ -std=c++11 tf_nndistance.cpp tf_nndistance_g.cu.o -o tf_nndistance_so.so -shared -fPIC -L$(TF_LIB) -l:libtensorflow_framework.so.1 -I $(tensorflow) -lcudart -L $(cudalib) -O2 -D_GLIBCXX_USE_CXX11_ABI=0

tf_nndistance_g.cu.o: tf_nndistance_g.cu
    $(nvcc) -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c -o tf_nndistance_g.cu.o tf_nndistance_g.cu -L$(TF_LIB) -l:libtensorflow_framework.so.1 -I $(tensorflow) -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -O2


clean:
    rm tf_approxmatch_so.so
    rm tf_nndistance_so.so
    rm  *.cu.o
```

Большое спасибо за вашу помощь!

...