程序运行时keras及方法可以正常导入,
目的是消除如上图中的红线,以及获得代码自动补全的功能
翻了下网上基本3种方法
# 1st
from tensorflow.python.keras.layers import Dense
# 2nd
import tensorflow
Dense = tensorflow.keras.layers.Dense
# 3rd
from keras.layers import Dense
查看原始方法,和以上3种方法的layers调用地址:
网上有这样的观点:
所以只有第2种方法和原始的import是等价的。
代码补全是实现不了了,嫌弃红线可以用第2种变量声明的方法...
唉,就这样把...
查看tensorflow.__init__()中对keras的定义部分:
看不太懂,不过大概可以认为源码的思路是: 加载keras.api下的keras并返回一个变量或实例,用以调用keras下的方法。而这一过程必须在运行时才能发生。。
pycharm一类的解释器,识别不了这种调用方式。这应该就是导致红线和无法自动补全的原因。