这篇将开始分析理解 model
首先 base_gattn 是后续模型得基类
这个和 GAT 的一模一样,那就相当于顺便理解了 GAT 🤣
那么,开始吧🧑
1 BaseGAttN
定义了一些方法,loss、training、preshape、confmat 等
loss
def loss(logits, labels, nb_classes, class_weights):
sample_wts = tf.reduce_sum(tf.multiply(
tf.one_hot(labels, nb_classes), class_weights), axis=-1)
xentropy = tf.multiply(tf.nn.sparse_softmax_cross_entropy_with_logits(
labels=labels, logits=logits), sample_wts)
return tf.reduce_mean(xentropy, name='xentropy_mean')
把 labels 进行 onehot1 处理,与 class_weights 对应元素相乘2
然后对每行元素求和得到 sample_wts