ImportError: No module named 'nets'

ImportError: No module named 'nets'

我正在尝试从 tensorflow/models 中提供的 export_inference_graph.py 脚本将 trained_checkpoint 转换为最终冻结模型,但出现以下错误。 是的,我已经将 $PYTHONPATH 设置为 "models/slim" 但我仍然收到此错误,有人可以帮我吗?

$ echo $PYTHONPATH
:/home/ishara/tensorflow_models/models:/home/ishara/tensorflow_models/models/slim

******************************问题*************** ****************************************************** ***********

$sudo python3 object_detection/export_inference_graph.py  --input_type image_tensor  --pipeline_config_path = "ssd_inception_v2_pets.config"  --trained_checkpoint_prefix="output/model.ckpt-78543"  --output_directory="birds_inference_graph.pb"

Traceback (most recent call last):
  File "object_detection/export_inference_graph.py", line 74, in <module>
    from object_detection import exporter
  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.egg/object_detection/exporter.py", line 28, in <module>

  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.egg/object_detection/builders/model_builder.py", line 30, in <module>
  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.egg/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py", line 28, in <module>
ImportError: No module named 'nets'

几天来我一直在为这个问题苦苦挣扎,尝试了很多解决方案都没有用 我正在使用 Ubuntu 16.04 和 tensorflow-gpu 版本。

我确实遇到了同样的错误,因为我错过了将 slim 包实际放入 tensorflow/models 文件夹中。纤薄的包装在 https://github.com/tensorflow/models

查看 Protobuf 编译 https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md 并正确设置 PYTHONPATH,这就是我为 Windows

解决这个问题的方法

对于Windows:

来自 tensorflow/models/research/

第一步:protoc object_detection/protos/*.proto --python_out=.

第 2 步:

set PYTHONPATH= <Path to 'research' Directory> ; <Path to 'slim' Directory>

例如:

set PYTHONPATH=C:\Users\Guy\Desktop\models\research;C:\Users\Guy\Desktop\models\research\slim

这是在较新版本的 tensorflow 上修复的,如果你得到它,只需更新你的 tensorflow 版本。

对于 MacOS:

export PYTHONPATH=/home/username/models/research/slim:$PYTHONPATH

问题解决。

这是一个 PYTHONPATH 问题。

我想补充现有的答案,如果它仍然不适合您并且您使用的是 Anaconda 环境,请使用分发版附带的 Anaconda Prompt(在管理员模式下)而不是系统提示你的OS。在 Anaconda Prompt 中设置 PYTHONPATH 并从那里 运行 你的命令。

此外,PYTHONPATH 在每次停用 anaconda 环境时都会重置,包括此处的机器重启。所以记得重新设置一下。

TF-Slim 可通过 TensorFlow 1.0 作为 tf.contrib.slim 使用,因此如果您使用 pip install tensorflow,您 不需要 额外安装它。你还需要做这三件事:

  1. 安装模型库

    $ cd
    $ git clone https://github.com/tensorflow/models/
    
  2. PYTHONPATH添加到.bashrc

    $ cd
    $ vi .bashrc
    
    export PYTHONPATH="$PYTHONPATH:/home/${YOUR_USERNAME}/models/research/slim"
    
  3. 将模型路径添加到您的脚本

    $ vi ${YOUR_SCRIPT}.py
    
    import sys
    sys.path.append('/home/${YOUR_USERNAME}/models/research/slim/')
    

完成这 3 个步骤后,您就大功告成了。现在您可以像这样导入 TF 网络:

import tensorflow as tf
from tensorflow.contrib import slim
from nets import inception_resnet_v2

在 windows 上遇到了 slim 错误,这解决了我的问题

。我所做的是,我只是将整个 nets 文件夹从 slim 目录复制到 C:\Python\Python\Lib\site-packages\object_detection-0.1-py3.5.egg(我安装 object_detection API 的位置)。然后错误就完全没有了。

Ubuntu18个物理GPU(设备:0,名称:Tesla K80,pci总线id:0000:00:1e.0,计算能力:3.7)strong text

cd models/research/slim/;
python setup.py build
python setup.py install

这是为了防止您已经下载或克隆了您的模型目录。

如果您正在使用 Jupyter Notebook 并使用 Linux sys

下载tensorflow-models

然后写在你的笔记本上

sys.path.append("/home/Roy/Downloads/models-master/research/slim/")

我用这个解决了我的问题

希望对您有所帮助