在tensorflow包下的__init__.py
文件中定義了一個contrib變量表示tensorflow.contrib包下的內容,但是tensorflow.contrib這個包是懶加載的,也就是只有用到這個contrib變量的時候contrib包中的內容才會被加載。
這樣就導致IDE無法通過分析源文件獲取到contrib包下的內容,解決方法非常簡單,把這個懶加載去掉。直接from tensorflow import contrib
。
from tensorflow import contrib as contrib
from tensorflow.python.util.lazy_loader import LazyLoader # pylint: disable=g-import-not-at-top
# contrib = LazyLoader('contrib', globals(), 'tensorflow.contrib')
del LazyLoader
在加載過程中,tensorflow亂改path,導致IDE無法正常分析,在tensorflow包下的init函數中加上
from tensorflow.python.estimator.api import *
from tensorflow._api.v1 import *