首页
学习
活动
专区
圈层
工具
发布

克拉斯
EN

Stack Overflow用户
提问于 2019-03-04 08:15:21
回答 1查看 203关注 0票数 1

我正在尝试运行以下对象检测器,https://github.com/omni-us/squeezedet-keras

文件夹层次结构如下:

西塞德角

代码语言:javascript
复制
   -> experiments
        -> kitti

   -> scripts
        -> train.py

   -> main
        -> model
            -> squeezeDet
            -> imagenet.h5

现在,我在压缩器/实验/kitti中运行命令:

代码语言:javascript
复制
>>python ../../scripts/train.py --init ../../main/model/imagenet.h5

“train.py”文件以以下一行开头:

代码语言:javascript
复制
from main.model.squeezeDet import  SqueezeDet

这就产生了错误:

回溯(最近一次调用): 文件“././script/tra.py”,第9行,在 从main.model.squeezeDet导入SqueezeDet ModuleNotFoundError:没有名为“main”的模块

我是在虚拟服务器上运行的,默认的python是3.7.2,在Windows 10笔记本电脑上。

EN

回答 1

Stack Overflow用户

发布于 2019-04-11 17:26:53

python解释器很难加载项目的模块。

模块加载程序将只识别以下文件夹:

  • {venv_folder}/lib/python{version}/site-packages/里面--它们很可能是用pip install ...python setup.py install安装的。
  • 在当前工作目录中。
  • PYTHONPATH env var指出。

解决这一问题的最简单方法是设置env var:

代码语言:javascript
复制
cd working_dir/
source /path/to/my/venv/
export PYTHONPATH=/path/to/squeezedet-keras
python ../../scripts/train.py --init ../../main/model/imagenet.h5

另一种方法是在执行脚本之前导航到项目的文件夹:

代码语言:javascript
复制
cd /path/to/squeezedet-keras
source /path/to/my/venv/
python scripts/train.py --init main/model/imagenet.h5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54979109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档