tensorflow.keras的导入问题

初衷

tensorflow.keras的导入问题

程序运行时keras及方法可以正常导入,

其目的是消除如上图所示的红线,并获得代码的自动完成。

[En]

The purpose is to eliminate the red lines as shown in the figure above and to obtain the automatic completion of the code.

尝试方法

翻了下网上基本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调用地址:


结论

网上有这样的观点:

  • tensorflow.python.*为核心部分代码, 不建议调用
  • keras与tf.keras在版本相同时可以通用,不过tf以tf.keras作为高级api,可能有些交互和执行上的优化,建议调用tf.keras

所以只有第2种方法和原始的import是等价的。

代码不能实现补全,不喜欢红线可以用第二个变量方法声明。

[En]

Code completion can not be achieved, dislike the red line can be declared with the second variable method.

唉,就这样把…

其他

查看tensorflow.init()中对keras的定义部分:

tensorflow.keras的导入问题

看不太懂,不过大概可以认为源码的思路是: 加载keras.api下的keras并返回一个变量或实例,用以调用keras下的方法。而这一过程必须在运行时才能发生。。

pycharm一类的解释器,识别不了这种调用方式。这应该就是导致红线和无法自动补全的原因。

Original: https://blog.csdn.net/aaaaaaze/article/details/123743185
Author: aaaaaaze
Title: tensorflow.keras的导入问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/497021/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球