问题分析
Pycharm 中 tensorflow 和 pytorch 不能自动提示, 主要原因:.conda/pkgs/tensorflow-base-1.14.0-gpu_py37h55fc52a_0/Lib/site-packages/tensorflow/python
中 的 __init__.pyi 缺少或不完整,从而导致无法自动提示。
解决方案
因此只需要添加或补全相关文件即可, 若在上述文件夹下不存在 __init__.pyi ,首先需要在上述文件夹下创建该文件。
然后,添加将所有文件夹下的 .py 文件都加入到 __init__.pyi , 格式如下所示:
from .keras.activations import *
from .keras.backend import *
from .keras.backend_config import *
from .keras.callbacks import *
from .keras.callbacks_v1 import *
from .keras.constraints import *
from .keras.initializers import *
from .keras.keras_parameterized import *
from .keras.losses import *
from .keras.metrics import *
from .keras.models import *
from .keras.ops import *
例如:文件 keras/activations.py
对应 from .keras.activations import *
。
快捷实现
如果进行手动添加, 将会十分耗时。因此通过代码遍历所有文件夹及子文件夹,进行组装语句, 写入到 __init__.pyi 中。下载链接。使用方式:
修改 collocate_files
中的 root_dir
为对应的文件夹路径。
if __name__ == "__main__":
collocate_files(root_dir='~/.conda/pkgs/tensorflow-base-2.1.0-gpu_py37h55fc52a_0/Lib/site-packages/tensorflow/python')