Importerror:在Colab Google中未命名的模块



我正在关注此处的教程(使用自定义数据集的Google Colab中的对象检测(。笔记本的第一行是TensorFlow模型的Git克隆:

!git clone --quiet https://github.com/tensorflow/models.git

之后,他们设置了PythonPath变量,以确保我们可以导入模型。

os.environ['PYTHONPATH'] += ':/content/models/research/:/content/models/research/slim/'

如果我在此阶段尝试导入模型

from nets import inception_resnet_v2 

我得到错误:

ImportError: No module named nets

我检查了Nets文件夹和nets/inception_resnet_v2.py文件(在模型/Research/Slim文件夹中(。我怀疑这与Colab命名约定有关,因为PWD命令给出:

/root/models/research

我在上述命令中替换了root的内容,但它也不起作用。这里有人发布了一个类似的问题,但唯一的答案是指1832年的Tensorflow问题,这不是这里的问题。有人可以帮忙吗?

编辑:操作系统是Linux-4.14.79 -x86_64-with-ubuntu-18.04-bionic

python进程读取启动时PYTHONPATH的值,因此在该过程已经运行的过程中修改该环境变量的位置不会更改该过程以寻找软件包。您应该调整sys.path的值:

import sys
sys.path.extend(['/content/models/research/', '/content/models/research/slim/'])

解决方案取决于您的操作系统,Linux或Windows。有人已经问了一个相同的问题:TutorialTensorFlow对象检测:Invimperror:NO模块名为Nets。TensorFlow对象检测:Invelterror:无模块nets如果您使用Windows,则更改PythonPath可能无法正常工作。这是一个尝试。首先,运行文件setup.py

python setup.py build
python setup.py install

,它可能会给您一个警告error: could not create 'build'(因为文件已经存在(。因为在您的git克隆中有一个名为"构建"的文件。但是,命令"构建"one_answers"安装"需要制作一个名为" build"的新文件夹。我不知道文件"构建"的目的是什么,因此我选择将文件移至另一个目录并使用上面的命令,并且它将起作用。

%cd /content/models/research/slim
!python setup.py build
!python setup.py install
%cd /content/models/research/deeplab

这样做让我解决了...

相关内容

最新更新