import tensorflow as tf from tensorflow.contrib import layers a = tf.Variable([3.0, 4.0]) # 第一種正則化方法 aa = tf.nn.l2_normalize(a) # a中每個元素除以(平方和開2次根號), 標準的l2範數, 得到是一個shape與輸入a相同的tensor # 第二種正則化方法 a_l2_loss = tf.nn.l2_loss(a) # a中每個元素平方和除以2, 是一個scalar # 第三種正則化方法 # reg = layers.l2_regularizer(scale=4.0) # 返回一個函數, 計算方式是:scalae * tf.nn.l2_loss(a) reg = tf.contrib.layers.l2_regularizer(scale=4.0) a_reg = reg(a) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(aa)) print(sess.run(a_l2_loss)) print(sess.run(a_reg))
tensorflow L2正則化實現以及差異性(tf.nn.l2_loss、tf.nn.l2_normalize、tf.contrib.layers.l2_regularizer)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.