问题描述

使用python的时候,老是遇见No Module named的问题,例如在使用TensorFlow Object Detection API的过程中(GitHub:DetectionAPI),过程中的问题
1)protc编译失败
2)object_detection模块导入错误

from object_detection.builders import model_builder
from object_detection.meta_architectures import faster_rcnn_meta_arch
from object_detection.meta_architectures import rfcn_meta_arch
from object_detection.meta_architectures import ssd_meta_arch
from object_detection.models import ssd_resnet_v1_fpn_feature_extractor as ssd_resnet_v1_fpn
from object_detection.protos import hyperparams_pb2
from object_detection.protos import losses_pb2
from object_detection.protos import model_pb2

对于问题1,采用3.3版本的protoc进行编译,注意在research目录下面编译
对于问题2(书中的参考模块是slim,路径:/home/lxl/models-master/research/slim,pwd:/home/lxl/models-master/research)

export PYTHONPATH=$PYTHONPATH:'pwd':'pwd'/slim

该命令执行完以后,可以在research目录python环境中导入slim模块,但是换一个目录就无法导入了!slim导入错误
也就是python环境变量在当前目录下work on,对于object_detection目录也是如此(export PYTHONPATH=$PYTHONPATH:‘pwd’:‘pwd’/object_detection),如何修改python全部的环境变量,使得在任何终端路径下面都可以导入module呢?
这时候我们需要配置~/.bashrc文件


sudo gedit ~/.bashrc


export PYTHONPATH=$PYTHONPATH:'/home/lxl/models-master/research'

在打开终端,直接导入模块就OK(slim 和object_detection都在research目录下面)


Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐