当我要导入keras时,我发现有三种keras类型:“ keras”,“ tensorflow.keras”和“ tensorflow.python.keras”。
我总是直接使用“ import keras”。但是我想知道是否对tf.gradients进行了一些修改,我的keras模型会受到影响吗? 例如,我要使用一个名为“ gradient-checkpointing”的程序包,该程序包需要用自定义渐变替换默认的tf_gradients:
from tensorflow.python.ops import gradients as tf_gradients
tf_gradients.gradients = gc.gradients_speed
但是,如果我使用“ import keras”来构建模型,基于我的基于keras的模型会调用新的gc.gradients_speed吗?
更新: 我知道建议普通用户使用“ tf.keras”。我也知道'tf.python.keras'是私有的,仅供开发人员使用。但是这里我想使用我自己的customerzed渐变策略,该策略需要“ tf.python.ops.gradients”。 所以我的问题是:如果我使用修改后的“ tf.python.ops.gradients”,哪个“ keras”会受到影响? “ tf.keras”?还是“ keras”?或“ tf.python.keras”? (我希望选择一个叫'tf.python.ops.gradients'的keras,以便我可以验证我的customerzed渐变是否确实有效。