![](/img/trans.png)
[英]ModuleNotFoundError: No module named 'nets' (TensorFlow)
[英]ModuleNotFoundError: No module named 'nets' on Google Colab
我正在嘗試在 Google Colab 上運行TensorFlow Object Detection API
來訓練SSD-Mobilenet
Z20F35E630DAF494DFA4 上的 aF630DAF494DFA4C 數據集。 但我正面臨這個 NoModuleError。 它沒有找到模塊'nets'
。 我已經發現有人面臨類似的問題,盡管他們沒有在 Google Colab 中運行 trining。 以下是一些鏈接:
ModuleNotFoundError:沒有名為“nets”的模塊(TensorFlow)
在上面的任何地方,我都發現了添加slim
和research
文件夾的PYTHONPATH
的建議,我都做了。 以下是我已經添加的路徑:
! echo $PYTHONPATH
import os
os.environ['PYTHONPATH'] += ":/models"
os.environ['PYTHONPATH'] += ":/models/research"
os.environ['PYTHONPATH'] += ":/models/research/slim"
# I copied the `nets` folder inside models folder and
# additionally here adding this folder to python path such that it becomes available to `faster_rcnn_inception_resnet_v2_feature_extractor.py` file for importing.
os.environ['PYTHONPATH'] += ":/models/nets"
! echo $PYTHONPATH
%cd '/content/gdrive/My Drive/Computer_vision_with_deep_learning/TFOD/models/research/'
!python setup.py build
!python setup.py install
%cd '/content/gdrive/My Drive/Computer_vision_with_deep_learning/TFOD'
但仍然收到此錯誤。 以下是我在 Colab 上遇到的錯誤:
Traceback (most recent call last):
File "training/train.py", line 26, in <module>
from object_detection import model_lib
File "/content/gdrive/My Drive/Computer_vision_with_deep_learning/TFOD/training/object_detection/model_lib.py", line 28, in <module>
from object_detection import exporter as exporter_lib
File "/content/gdrive/My Drive/Computer_vision_with_deep_learning/TFOD/training/object_detection/exporter.py", line 23, in <module>
from object_detection.builders import model_builder
File "/content/gdrive/My Drive/Computer_vision_with_deep_learning/TFOD/training/object_detection/builders/model_builder.py", line 59, in <module>
from object_detection.models import faster_rcnn_inception_resnet_v2_feature_extractor as frcnn_inc_res
File "/content/gdrive/My Drive/Computer_vision_with_deep_learning/TFOD/training/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py", line 30, in <module>
from nets import inception_resnet_v2
ModuleNotFoundError: No module named 'nets'
正如我注意到的錯誤生產線來自文件faster_rcnn_inception_resnet_v2_feature_extractor.py
的from nets import inception_resnet_v2
。 因此,我另外復制了 scope 中的nets
文件夾,以便它可以找到模塊。 但它仍然在說同樣的事情,盡管現在不應該找到這個模塊是沒有意義的。 這里可能還有什么問題?
我有同樣的錯誤,但我找到了一個可能的解決方案。 您需要在 slim 目錄中運行上面的代碼。
%cd drive/My\ Drive/<path to slim>/slim
!python setup.py build
!python setup.py install
這段代碼為 slim 運行setup.py
,實際上它設置了所有需要的模塊。
您可能還需要將路徑添加到您的環境變量中。
os.environ['PYTHONPATH'] = '/env/python/drive/My Drive/slim'
或者
! export PYTHONPATH=$PYTHONPATH:pwd:pwd/slim
以下是對我有用的鏈接。
https://github.com/tensorflow/models/issues/1842
希望這會有所幫助。
好吧! 我設法在Colab
中使用以下方式解決了它。 如果您認為所有必需的軟件包都已安裝並且可以正常使用,那么從第4
點開始:
使用以下命令安裝model
:
:git clone --depth 1 https.//github.com/tensorflow/models
還要在同一目錄中安裝以下軟件包:
!apt-get install -qq protobuf-compiler python-pil python-lxml python-tk
!pip install -q Cython contextlib2 pillow lxml matplotlib
!pip install -q pycocotools
現在 go 到研究文件夾來編譯.proto
文件。 為此,首先通過運行以下命令將 go 放到research
文件夾:
%cd /content/models/research
現在編譯.proto
文件:
.protoc object_detection/protos/*.proto --python_out=.
現在添加執行以下代碼的python路徑:
import os
os.environ['PYTHONPATH'] += ':/content/models/research/:/content/models/research/slim/'
如果您遇到關於tf-slim
的問題,請安裝以下 package:
:pip install git+https.//github.com/google-research/tf-slim
完畢!
注意:
tensorflow 1.x
,它基本上是 Colab 提供的Colab
tensorflow 1.15.2
。我剛剛從 github 克隆了存儲庫並重新運行發生 ModuleNotFoundError 的代碼單元。 原因:它會在我克隆的特定 package 中查找文件,如果找不到則會引發錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.