Ubuntu和Windows系统 tensorflow训练提示no module named nets问题,最全解决方案
首先明确此net是自己定义的的文件夹nets还是tensorflow中slim下面的nets。对待不同的问题采取不同的解决方法不能一概而论。
经常是这样我们训练其他的算法,比如我们使用tensorflow训练east算法是可以训练的,但是在训练ctpn时就提示no module named nets
(1)这一般是第一种情况:
此时需要检查是否有__init__.py文件,因为这个文件会将python定义为包,否则不能辨识,从而无法import
init.py的主要作用是:
-
Python中package的标识,不能删除
-
定义__all__用来模糊导入
-
编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)
(2)否则考虑第二种no module的情况
具体方法包括:
一是添加环境变量PYTHONPATH,值为slim目录:
具体的如下:
export PYTHONPATH=$PYTHONPATH:[research所在目录]:[slim所在目录]
然而该方法只能用于linux系统,Windows下不适用&#