为什么我一直得不到名为:官方错误的模块



我正试图使用一些自定义数据集在谷歌colab中训练一个对象检测模型,但当我执行这段代码时:

%cd /content/gdrive/My Drive/models/research/object_detection/builders/
!python model_builder_test.py

我得到以下错误:

2020-08-17 07:32:58.162622: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
Traceback (most recent call last):
File "model_builder_test.py", line 21, in <module>
from object_detection.builders import model_builder
File "/usr/local/lib/python3.6/dist-packages/object_detection-0.1-py3.6.egg/object_detection/builders/model_builder.py", line 65, in <module>
from object_detection.models import ssd_efficientnet_bifpn_feature_extractor as ssd_efficientnet_bifpn
File "/usr/local/lib/python3.6/dist-packages/object_detection-0.1-py3.6.egg/object_detection/models/ssd_efficientnet_bifpn_feature_extractor.py", line 33, in <module>
from official.vision.image_classification.efficientnet import efficientnet_model
ModuleNotFoundError: No module named 'official'

我已经使用os.eviron和sys.path.append向模块官方添加了路径,但错误仍然存在。以下是我的代码:


%tensorflow_version 1.x
import tensorflow as tf
device_name = tf.test.gpu_device_name()
if device_name != '/device:GPU:0':
raise SystemError('GPU device not found')
print('Found GPU at: {}'.format(device_name))
print(tf.__version__)
from google.colab import drive
drive.mount('/content/gdrive')
!cd '/content/gdrive/My Drive/'
!git clone https://github.com/tensorflow/models.git
!apt-get install protobuf-compiler python-pil python-lxml python-tk
!pip install Cython
!pip install tf_slim
%cd '/content/gdrive/My Drive/models/research'
!protoc object_detection/protos/*.proto --python_out=.
import os
os.environ['PYTHONPATH'] += '/content/gdrive/My Drive/models/research/:/content/gdrive/My Drive/models/research/slim'
os.environ['PYTHONPATH'] += ":/content/gdrive/My drive/models"
import sys
sys.path.append(":/content/gdrive/My drive/models")
!export PYTHONPATH='$PYTHONPATH:/content/gdrive/My Drive/models'

!python setup.py build
!python setup.py install
import time, psutil
Start = time.time()- psutil.boot_time()
Left= 12*3600 - Start
print('Time remaining for this session is: ', Left/3600)

%cd '/content/gdrive/My Drive/models/research/slim'
!python setup.py build
!python setup.py install
%cd /content/gdrive/My Drive/models/research/object_detection/builders/
!python model_builder_test.py

我相信,如果文件夹的路径,其中的模块是给定的,那么程序应该能够找到它。但有些程序无法找到模块。我也曾经错误地在蟒蛇路径中添加了一条不存在的错误路径,这就是为什么这个问题仍然存在的原因?

/env/python/content/gdrive/My Drive/models/research/:/content/gdrive/My Drive/Desktop/models/research/slim:/content/gdrive/My drive/models/content/gdrive/My Drive/models/research/:/content/gdrive/My Drive/models/research/slim:/content/gdrive/My drive/models/content/gdrive/My Drive/models/research/:/content/gdrive/My Drive/models/research/slim:/content/gdrive/My drive/models

路径"/content/gdrive/My Drive/Desktop/models/research/slim";不存在,这是问题所在吗?

请帮忙!

按照以下步骤

!apt-get install protobuf-compiler python-pil python-lxml python-tk
!pip install Cython tf_slim
!git clone https://github.com/tensorflow/models.git
%cd /content/models/research
!protoc object_detection/protos/*.proto --python_out=.
%set_env PYTHONPATH=/content/models/research:/content/models/research/slim
import os
os.environ['PYTHONPATH'] += ":/content/models"
import sys
sys.path.append("/content/models")
!python object_detection/builders/model_builder_test.py

或者试试

../models/research pip install tf-models-official

相关内容

最新更新