0
学習可能で学習できない2種類の重みを持つカスタムKerasレイヤーを作成しました。 In build(self, input_shape)
ValueError:値がサポートされていません
次のように、2つの重み行列WtとWuを追加します。 call(self, x, mask=None)
で
self.trainable_weights = [self.Wt]
self.non_trainable_weights = [self.Wu]
self.non_trainable_weights[0].eval(K.get_session()) # why?
私が行います
gwt = K.gather(self.Wt, x)
gwu = K.gather(self.Wu, x)
return gwu + gwt
私のバックエンドはTensorFlowです。
コードは、訓練できない体重に対してeval
を呼び出した場合にのみ機能します。私がそれを残しておけば、私はValueError: None values not supported.
を得ることができます。訓練可能な体重については、eval
に電話する必要はありません。
eval
の効果が何であれ、それを達成するためのより良い方法はありますか?
ありがとうございました。 'eval'を呼び出す代わりに、値をロードする方がいいですか?たとえば、訓練可能な体重の行列は呼び出しなしで使用できますが、訓練不可能な体重の行列はありません(マイナーな編集を参照してください)。 – Alex
わかりません。それはWtとWuが初期化される方法と関係があります。これはコードのどこかにあります。 –