老师,求位置编码的时候你搞错了

来源:10-16 位置编码

慕勒7399318

2019-11-11

应该写成下面的

def get_position_embedding(sentence_length, d_model):
    # 会进行广播
    angle_rads = get_angles(
        np.arange(sentence_length)[:, np.newaxis],
        np.arange(d_model)[np.newaxis, :],d_model)
    # sines.shape: [sentence_length, d_model / 2]
    # cosines.shape: [sentence_length, d_model / 2]
    angle_rads[:, 0::2] = np.sin(angle_rads[:, 0::2])
    angle_rads[:, 1::2] = np.cos(angle_rads[:, 1::2])
写回答

2回答

正十七

2019-11-17

同学你好,非常感谢你的提醒。你的实现确实更符合我们课上的描述。

然后这个实现跟我们课上的区别就是是原地操作,而不是奇数位和偶数位都抽出来然后再合并。向量中的值都是一样的,只是有些值的位置发生了变化而已。

其实它们是等价的,因为这里只是要给每个位置有一个独一无二的向量而已。

1
0

qq_慕前端4252840

2021-08-06

这个不用拼接,课上老师的代码拼接以后可能是偶数和偶数在一起,奇数和奇数在一起,不是按奇偶顺序的,但是不影响

0
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程