当前位置: 首页 > article >正文

pytorch基础-比较矩阵是否相等

1、使用 NumPy 库

NumPy 是 Python 中用于科学计算的常用库,它提供了 array_equal 和 allclose 函数来判断矩阵是否相等。array_equal 用于精确比较,allclose 用于考虑一定误差范围的近似比较,适合浮点数矩阵。

import numpy as np

# 创建示例矩阵
matrix_a = np.array([[1, 2, 3], [4, 5, 6]])
matrix_b = np.array([[1, 2, 3], [4, 5, 6]])
matrix_c = np.array([[1, 2, 3], [4, 5, 7]])

# 精确比较
print(np.array_equal(matrix_a, matrix_b))  # 输出: True
print(np.array_equal(matrix_a, matrix_c))  # 输出: False

# 近似比较(适用于浮点数矩阵)
matrix_d = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
matrix_e = np.array([[1.000001, 2.0, 3.0], [4.0, 5.0, 6.0]])
print(np.allclose(matrix_d, matrix_e, atol=1e-5))  # 输出: True

2、使用 PyTorch 库

在深度学习中,PyTorch 是常用的框架,可使用 torch.equal 函数进行精确比较,torch.allclose 进行近似比较。

import torch

# 创建示例矩阵
matrix_a = torch.tensor([[1, 2, 3], [4, 5, 6]])
matrix_b = torch.tensor([[1, 2, 3], [4, 5, 6]])
matrix_c = torch.tensor([[1, 2, 3], [4, 5, 7]])

# 精确比较
print(torch.equal(matrix_a, matrix_b))  # 输出: True
print(torch.equal(matrix_a, matrix_c))  # 输出: False

# 近似比较(适用于浮点数矩阵)
matrix_d = torch.tensor([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
matrix_e = torch.tensor([[1.000001, 2.0, 3.0], [4.0, 5.0, 6.0]])
print(torch.allclose(matrix_d, matrix_e, atol=1e-5))  # 输出: True

 


http://www.kler.cn/a/564494.html

相关文章:

  • Java类中的this操作
  • 2025-02-27 学习记录--C/C++-PTA 7-30 字符串的冒泡排序
  • fastchat 支持llama3 harmbench PAIR攻击支持 llama3
  • Vue+Element UI table表格,数据展示错位(已解决)
  • Three.js包围盒
  • sqlmap:自动SQL注入和数据库接管工具
  • 线性回归 (Linear Regression)案例分析2
  • 0x02 js、Vue、Ajax
  • Hadoop简介
  • SQL注入(一)—— sql手动注入实操
  • nio中ByteBuffer使用
  • 记录MFC联合halcon界面显示开发
  • Ubuntu下QT安装和调试的常见问题(一)__could_not_dertermine_which_make
  • 大白话解释深度学习中多尺度特征融合及其意义
  • 趣讲TCP三次握手
  • 使用Apifox动态生成请求参数
  • 如何将mobaxterm的默认编辑器修改为vscode
  • 深入浅出:插入排序算法完全解析
  • Java中,Scanner和System.out超时的解决方法及原理
  • 【含文档+PPT+源码】基于过滤协同算法的旅游推荐管理系统设计与实现