Python numpy M = T @ S @ R @ P @ C

Python numpy M = T @ S @ R @ P @ C

在学习yolov5算法时遇到 M = T @ S @ R @ P @ C ,不知是什么意思,猜测是类似矩阵乘法,于是做个试验验证一下:

import numpy as np

C = np.eye(3)
C[0, 2] = 1.5
C[1, 1] = 2.5
# print(C)

P = np.eye(3)
P[0, 1] = 2
P[1, 2] = 2.5
# print(P)

R = np.eye(3)
R[0, 1] = 2.2
R[2, 0] = 0.5
# print(R)

S = np.eye(3)
S[0, 1] = 1.2
S[2, 0] = 3.5
# print(S)

T = np.eye(3)
T[0, 1] = 2.3
T[2, 0] = 1.3
# print(T)

M = T @ S @ R @ P @ C
print('M')
print(M)

MM = np.matmul(T, np.matmul(S, np.matmul(R, np.matmul(P, C))))
print('MM')
print(MM)

计算结果:

M
[[ 1.   19.25 15.75]
 [ 0.    2.5   2.5 ]
 [ 5.3  56.8  39.25]]
MM
[[ 1.   19.25 15.75]
 [ 0.    2.5   2.5 ]
 [ 5.3  56.8  39.25]]

可知此处的@就是np.matmul的意思,但用@更简洁。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值