ImportError:没有名为'nets'的模块

问题描述 投票:4回答:8

我试图从训练集/流程模型中提供的export_inference_graph.py脚本中将trained_checkpoint转换为最终冻结模型,但会出现以下错误结果。是的,我已经设置了$ PYTHONPATH“模特/苗条”,但我仍然得到这个错误,有人可以帮助我吗?

$ 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'

我已经苦苦挣扎了好几天了,试过很多解决方案没什么用,我正在使用带有tensorflow-gpu版本的Ubuntu 16.04。

python python-3.x tensorflow tensorflow-gpu
8个回答
10
投票

看看https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md上的Protobuf Compilation并正确设置PYTHONPATH,这就是我为Windows解决这个问题的方法

对于Windows:

From tensorflow/models/research/

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

第2步:

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

对于Eg:

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

3
投票

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


3
投票

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

1
投票

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


1
投票

对于MacOS:

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

解决了这个问题。


0
投票

这是一个PYTHONPATH问题。

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

此外,PYTHONPATH在每次停用anaconda环境时重置,包括机器重启。所以记得再次设置它。


0
投票

在Windows上遇到了细微的错误,这解决了我的问题

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


0
投票

Ubuntu 18物理GPU(设备:0,名称:Tesla K80,pci总线ID:0000:00:1e.0,计算能力:3.7)强文

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

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

© www.soinside.com 2019 - 2024. All rights reserved.