Transformer文本翻译小技术点总结(实用)

1.tf.transpose(input, [0,2,1])

      这个就表示 将input这个Tensor的第1个维度与第2个维度交换,交换之后便可以相乘

2. tf.abs(a) 这个就是取a里面的绝对值.

3. tf.sign(x)

如果x < 0,则有 y = sign(x) = -1;如果x == 0,则有 0 或者tf.is_nan(x);如果x > 0,则有1。如果x < 0,则有 y = sign(x) = -1;如果x == 0,则有 0 或者tf.is_nan(x);如果x > 0,则有1。

4. tf.tile(input, #输入 multiples, #某一维度上复制的次数 name=None )

# 如果只有 一个数,就表示在 第一维度(也就是列数)上面将原来的数复制2遍
temp = tf.tile([1,2,3],[2])
# 这个表示的在第一维度(也就是行数)上面将原来的数复制2遍
# 这个表示的在第一维度(也就是列数)上面将原来的数复制3遍
temp2 = tf.tile([[1,2],[3,4],[5,6]],[2,3])
with tf.Session() as sess:
    print(sess.run(temp))
    print(sess.run(temp2))
--------------------- 
[1 2 3 1 2 3]

[[1 2 1 2 1 2] 
[3 4 3 4 3 4] 
[5 6 5 6 5 6] 
[1 2 1 2 1 2] 
[3 4 3 4 3 4] 
[5 6 5 6 5 6]]

5. tf.ones_like(tensor, dtype = none)

 将Tensor里面的值全部设置成 1

6 tf.equal(A, B)

A = [[1,3,4,5,6]]
B = [[1,3,4,3,2]]
 
with tf.Session() as sess:
    print(sess.run(tf.equal(A, B)))
    
输出:
[[ True  True  True False False]]

7.tf.where(condition, x=None, y=None,name=None),condition是一个true和false的集合

  当condition 的值为 true时,就在x的对应位置找值
  当condition 的值为 false时,就在y的对应位置找值
  这个就意味着 condition3 的维度必须和x,y一样 
x = [[1,2,3],[4,5,6]]
y = [[7,8,9],[10,11,12]]
condition3 = [[True, False, False],
              [False, True, True]]
condition4 = [[True, False, False],
             [True, True, False]]
with tf.Session() as sess:
    print(sess.run(tf.where(condition3,x,y)))
    print(sess.run(tf.where(condition4,x,y)))

[[ 1  8  9]
 [10  5  6]]
[[ 1  8  9]
 [ 4  5 12]]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值