ImportError: No module named ... in Colab google
ImportError: No module named ... in Colab google
我正在学习教程 here(使用自定义数据集在 Google Colab 中进行对象检测)。笔记本的第一行是 git tensorflow 模型的克隆:
!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/inception_resnet_v2.py 文件(在 models/research/slim 文件夹中)。我怀疑它与 colab 命名约定有关,因为 pwd 命令给出:
/root/models/research
我在上面的命令中用内容替换了根目录,但它也不起作用。有人 here posted a similar question but the only answer refers to tensorflow issue 1832 这不是这里的问题。有人可以帮忙吗?
编辑:操作系统是 Linux-4.14.79+-x86_64-with-Ubuntu-18.04-bionic
解决方案取决于您的操作系统,Linux 或 Windows。已经有人问过同样的问题:tutorialTensorflow object detection: ImportError: No module named nets.
如果您使用 Windows,更改 PYTHONPATH 可能不起作用。这是一个尝试。
首先,运行 文件 setup.py
.
python setup.py build
python setup.py install
它可能会给你一个警告error: could not create 'build'
(因为文件已经存在)。因为在您 git 克隆的内容中有一个名为 "build" 的文件。但是,命令 "build" 和 "install" 需要创建一个名为 "build" 的新文件夹。不知道"build"这个文件是做什么用的,所以我选择把文件移动到另一个目录,用上面的命令,就可以了。
Python 进程在启动时读取 PYTHONPATH
的值,因此在进程已经 运行 时修改该环境变量不会更改该进程查找包的位置。您应该改为调整 sys.path
:
的值
import sys
sys.path.extend(['/content/models/research/', '/content/models/research/slim/'])
%cd /content/models/research/slim
!python setup.py build
!python setup.py install
%cd /content/models/research/deeplab
这样做让我解决了...
我正在学习教程 here(使用自定义数据集在 Google Colab 中进行对象检测)。笔记本的第一行是 git tensorflow 模型的克隆:
!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/inception_resnet_v2.py 文件(在 models/research/slim 文件夹中)。我怀疑它与 colab 命名约定有关,因为 pwd 命令给出:
/root/models/research
我在上面的命令中用内容替换了根目录,但它也不起作用。有人 here posted a similar question but the only answer refers to tensorflow issue 1832 这不是这里的问题。有人可以帮忙吗?
编辑:操作系统是 Linux-4.14.79+-x86_64-with-Ubuntu-18.04-bionic
解决方案取决于您的操作系统,Linux 或 Windows。已经有人问过同样的问题:tutorialTensorflow object detection: ImportError: No module named nets. setup.py
.
python setup.py build
python setup.py install
它可能会给你一个警告error: could not create 'build'
(因为文件已经存在)。因为在您 git 克隆的内容中有一个名为 "build" 的文件。但是,命令 "build" 和 "install" 需要创建一个名为 "build" 的新文件夹。不知道"build"这个文件是做什么用的,所以我选择把文件移动到另一个目录,用上面的命令,就可以了。
Python 进程在启动时读取 PYTHONPATH
的值,因此在进程已经 运行 时修改该环境变量不会更改该进程查找包的位置。您应该改为调整 sys.path
:
import sys
sys.path.extend(['/content/models/research/', '/content/models/research/slim/'])
%cd /content/models/research/slim
!python setup.py build
!python setup.py install
%cd /content/models/research/deeplab
这样做让我解决了...