在TensorFlow1.14中,我希望能够从私有tf.keras _Merge类继承,以在外部文件中实现自定义_Merge层。
以前,在独立的Keras中,我通过将所有_Merge替换为Merge来更改文件.../keras/layers/merge.py的内容,例如,从
class _Merge(Layer):
(...)
class Add(_Merge):至
class Merge(Layer):
(...)
class Add(Merge):因为我现在使用的是调用tf.keras的tf函数,所以我想从独立的Keras切换到tf.keras。我以同样的方式更改了相同的文件。此外,我向Merge类添加了装饰器,就像在merge.py中从_Merge继承的类一样。
@keras_export('keras.layers.Merge')
class Merge(Layer):此外,我还添加了
from tensorflow.python.keras.layers.merge import Merge添加到__init__.py文件中,就像对merge.py中的其他类所做的那样。
但是,我仍然收到一个导入错误:
ImportError: cannot import name 'Merge' from 'tensorflow.keras.layers' (unknown location)我假设Tensorflow确实有一些我不知道的奇特的导出,有人能解释一下我需要采取哪些进一步的步骤才能使_Merge可访问吗?
发布于 2019-07-23 18:36:42
据我所知,我认为我需要在更改源代码后重新编译tensorflow,因为导出用于自动创建文件,所有内容都将从该文件导入到python中。
https://stackoverflow.com/questions/56989522
复制相似问题