0
我建立了一個自定義的Keras圖層,它有兩種類型的權重,可學習和不可學習。在build(self, input_shape)
ValueError:無值不支持
我添加兩個權重矩陣Wt和Wu,如下所示。
self.trainable_weights = [self.Wt]
self.non_trainable_weights = [self.Wu]
self.non_trainable_weights[0].eval(K.get_session()) # why?
在call(self, x, mask=None)
我做的:
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初始化的方式有關,這些將在代碼中的其他地方進行。 –