tf.linalg.band_part(input,num_lower,num_upper)

tf.linalg.band_part(input,num_lower,num_upper),
此函数的含义:以主对角线为中心,取它的副对角线部分,其他部分用0 填充
input:输入的张量
num_lower:从主对角线开始计算,下三角矩阵保留的副对角线数量,取值为负数时,则全部保留
num_upper:从主对角线开始计算,上三角矩阵保留的副对角线数量,取值为负数时,则全部保留

import tensorflow as tf
a=tf.constant( [[ 1,  1,  1, 1],[1,  1,  1, 1],[1, 1,  1, 1],
                 [1, 1, 1, 1]],dtype=tf.float32)
#没有保留的行用0填充
b=tf.linalg.band_part(a,3,1)#下三角矩阵保留3行,上三角保留1行,
c=tf.linalg.band_part(a,2,1)#下三角矩阵保留2行,上三角保留1行
d=tf.linalg.band_part(a,1,1)#下三角保留1行,上三角保留1行
e=tf.linalg.band_part(a,-1,1)#下三角全部保留,上三角保留一行

print(a)
print(b)
print(c)
print(d)
print(e)

结果
tf.Tensor(
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]], shape=(4, 4), dtype=float32)
tf.Tensor(
[[1. 1. 0. 0.]
[1. 1. 1. 0.]
[1. 1. 1. 1.]<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值