错误:尚不支持存在活动正则化程序的层调用

时间:2020-10-06 00:22:16

标签: tensorflow tensorflow.js

我正在使用tf.loadLayersModel()加载到tf.js并收到此错误:

Error: Layer invocation in the presence of activity regularizer(s) is not supported yet.

我正在使用L2正则化器,并且为了确保其正常工作,我还包括以下内容:

class L2 {

  static className = 'L2';

  constructor(config) {
     return tf.regularizers.l2(config)
  }
}
tf.serialization.registerClass(L2);

出了什么问题?

注意::这是一个Tensorflow模型,已移至Tf.js,但Tf.js支持活动正则化程序。

更新:

Here是未实现错误的源代码。那么不可能用正则化器加载Keras模型吗?

1 个答案:

答案 0 :(得分:0)

好吧,根据消息,the link to the repo you provided

我查看了我的 python 代码,并在 activity_regularizer 中注释了 tf.keras.layers.Dense() 参数,它似乎在使用 tensorflowjs_converter 生成后可以工作(至少 javascript 没有显示错误)。

 model = tf.keras.Sequential([
        # ...
        tf.keras.layers.Dense(64, activation='relu',
                              kernel_initializer=tf.keras.initializers.HeNormal(),
                              # activity_regularizer=tf.keras.regularizers.l2(1e-04) --> 
                              # ^ Comment line above because not working on tensorflow.js
        # ...
    ])