pycharm 支持tensorflow提示

默认tensorflow package keras是通过_LazyLoader 方式延迟加载 导致pycharm 不能正常提示
可以通过_typing.TYPE_CHECKING 判断是否类型检查直接import keras

site-packages/tensorflow/init.py near line 387 左右

1
2
3
4
5
6
_keras_module = "keras.api._v2.keras"
keras = _LazyLoader("keras", globals(), _keras_module)
_module_dir = _module_util.get_parent_dir_for_name(_keras_module)
if _module_dir:
_current_module.__path__ = [_module_dir] + _current_module.__path__
setattr(_current_module, "keras", keras)
1
2
3
4
5
6
7
8
9
10
import typing as _typing
if _typing.TYPE_CHECKING:
from keras.api._v2 import keras
else:
_keras_module = "keras.api._v2.keras"
keras = _LazyLoader("keras", globals(), _keras_module)
_module_dir = _module_util.get_parent_dir_for_name(_keras_module)
if _module_dir:
_current_module.__path__ = [_module_dir] + _current_module.__path__
setattr(_current_module, "keras", keras)