TypeError:単項演算子のオペランド型が正しくありません - : 'ReplicatedVariable'、tf.keras.layers.PReLUを使用するとき
GPU上で実行されるSRGAN kerasモデルをTPU上で実行するように変換しています。 SRGANはPReLUアクティベーションを使用しており、私の機能的APIでtf.keras.layers.PReLUを使用している場合 x = layers.PReLU(alpha_initializer = 'zeros', alpha_regularizer = None, alpha_constraint = None, shared_axes=[1,2])(x) TPUを使用してモデルをフィットすると、次のTypeErrorが発生します。 TypeError: bad operand type for unary -: 'ReplicatedVariable' PReLUレイヤーを次のように交換したとします。 x = tf.Activations('relu')(x) エラーは消えます。 誰もがこの問題を見ましたか? PReLUクラスの呼び出し機能に関連していると思います。 @tf_export('keras.layers.PReLU') Class PReLU(layer): ... def call(self, inputs, mask=None): ... else: neg = -self.alpha * K.relu(-inputs)