如何更改tf.keras以使_Merge类公开可用?

时间:2019-07-11 12:44:25

标签: python tensorflow keras tf.keras

在Tensorflow 1.14中,我希望能够从私有tf.keras _Merge类继承,以在外部文件中实现自定义_Merge层。

以前,在独立的Keras中,我通过用.../keras/layers/merge.py替换所有_Merge来更改文件Merge的内容,例如来自

class _Merge(Layer):
(...)
class Add(_Merge):

class Merge(Layer):
(...)
class Add(Merge):

因为我现在使用的是tf调用tf.keras的功能,所以我想从独立的Keras切换到tf.keras。我以相同的方式更改了相同的文件。另外,我将装饰器添加到Merge类中,就像从_Merge中的merge.py继承的类一样。

@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易于访问吗?

1 个答案:

答案 0 :(得分:0)

据我所知,我认为我需要在更改源之后重新编译张量流,因为导出用于自动创建文件,以后将所有内容从中导入python。