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

【深度学习与大模型基础】第3章-张量

大家好!今天我们来聊聊张量(Tensor)。别被这个词吓到,其实它没那么复杂。

什么是张量?

简单来说,张量就是一个多维数组。你可以把它看作是一个装数据的容器,数据的维度可以是一维、二维,甚至更高。

  • 标量(0维张量):就是一个单独的数字,比如 3

  • 向量(1维张量):一串数字,比如 [1, 2, 3]

  • 矩阵(2维张量):一个表格,比如 [[1, 2], [3, 4]]

  • 更高维张量:比如 [[[1, 2], [3, 4]], [[5, 6], [7, 8]]],这就是一个3维张量。

张量在计算机科学中的应用

张量在计算机科学中非常有用,尤其是在机器学习深度学习领域。下面举几个例子:

  1. 图像处理

    一张彩色图片可以看作是一个3维张量。比如,一张 256x256 的 RGB 图片,可以表示为一个 256x256x3 的张量,其中 256x256 是图片的宽高,3 代表红、绿、蓝三个颜色通道。
  2. 自然语言处理

    在文本处理中,单词可以表示为向量(1维张量),而一句话则可以表示为矩阵(2维张量)。比如,句子 "I love AI" 可以表示为一个 3xN 的矩阵,其中 3 是单词数量,N 是每个单词的向量维度。
  3. 神经网络

    在深度学习中,神经网络的输入、输出和中间结果通常都是张量。比如,输入一张图片,经过多层神经网络处理后,输出可能是一个表示分类结果的向量。

python演示张量

张量其实就是多维数组,用来表示各种数据。在计算机科学中,尤其是机器学习和深度学习中,张量是处理数据的基础工具。

import numpy as np
import matplotlib.pyplot as plt# 创建一个标量(0维张量)
scalar = np.array(42)
print("Scalar (0D Tensor):", scalar)# 创建一个向量(1维张量)
vector = np.array([1, 2, 3, 4, 5])
print("Vector (1D Tensor):", vector)# 创建一个矩阵(2维张量)
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Matrix (2D Tensor):")
print(matrix)# 创建一个3D张量
tensor_3d = np.random.rand(3, 3, 3)
print("3D Tensor shape:", tensor_3d.shape)# 可视化矩阵
plt.figure(figsize=(6, 6))
plt.imshow(matrix, cmap='viridis')
plt.colorbar()
plt.title('2D Tensor Visualization')
plt.show()# 可视化3D张量的一个切片
plt.figure(figsize=(6, 6))
plt.imshow(tensor_3d[0], cmap='viridis')
plt.colorbar()
plt.title('Slice of 3D Tensor Visualization')
plt.show()


http://www.mrgr.cn/news/94506.html

相关文章:

  • 探针泄露(WEB)
  • RTDETR融合[CVPR2025]ARConv中的自适应矩阵卷积
  • GolangTCP通信解决粘包问题
  • SQL Server查询优化
  • Android LeakCanary 使用 · 原理详解
  • 《TCP/IP网络编程》学习笔记 | Chapter 17:优于 select 的 epoll
  • Linux 安装 Oh My Zsh
  • Centos 7 安装达梦数据库
  • Odoo18 Http鉴权+调用后端接口
  • MySQL(事物上)
  • 学习15天:pytest
  • STM32配套程序接线图
  • linux磁盘和文件系统
  • 【VUE2】第五期——VueCli创建项目、Vuex多组件共享数据、json-server——模拟服务端api
  • 【深度学习与大模型基础】第4章-矩阵的运算
  • Linux(2025.3.14)
  • C++前缀和
  • 【亲测有用】数据集成平台能力演示(支持国产数据库DaMeng与KingBase)
  • CNN 稠密任务经典结构
  • 多线程(超详细) (ε≡٩(๑>₃<)۶ 一心向学)