code: def unit_targeting(w, k):
    
    k = tf.to_int32(k)
    w_shape = shape_list(w)
    size = tf.to_int32(tf.reduce_prod(w_shape[:-1]))
    w = tf.reshape(w, [size, w_shape[-1]])
  
    norm = tf.norm(w, axis=0)
    thres = tf.contrib.framework.sort(norm, axis=0)[k]
    mask = to_float(thres >= norm)[None, :]
    mask = tf.tile(mask, [size, 1])
  
    return tf.reshape(mask, w_shape)
docs: Unit-level magnitude pruning.