在调用自定义的类的时候往往可能出现一种“某某类无法调用”的警告,类似下面的警告
解决方法如下:
import sys import tensorflow as tf from keras import layers # 定义类 class LogVarLayer(tf.keras.layers.Layer): ''' The log variance layer: calculates the log variance of the data along given 'dim' (natural logarithm) ''' def __init__(self, dim): super(LogVarLayer, self).__init__() self.dim = dim def call(self, x): return tf.math.log(tf.clip_by_value(tf.math.reduce_variance(x, axis=self.dim, keepdims=True), 1e-6, 1e6)) x = layers.Input(shape=(1, 22, 1000)) # 实例化 # log_varLayer = LogVarLayer(dim=3) # log_variance = log_varLayer (x) # 此时会出现黄色警告 无法调用 # 解决方法如下 current_module = sys.modules[__name__] log_varLayer = current_module.__dict__['LogVarLayer'](dim=3) log_variance = log_varLayer(x)