TypeError:単項演算子のオペランド型が正しくありません - : 'ReplicatedVariable'、tf.keras.layers.PReLUを使用するとき


1

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)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.