成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PyTorch 中 12 種張量操作詳解

開發
本文將詳細介紹 PyTorch 中常用的 12 種張量操作,幫助你更好地理解和使用這個工具。

PyTorch 是一個強大的深度學習框架,它允許開發者輕松地定義和訓練神經網絡。張量是 PyTorch 的核心數據結構,類似于 NumPy 數組,但支持自動微分以及在 GPU 上加速計算。本文將詳細介紹 PyTorch 中常用的 12 種張量操作,幫助你更好地理解和使用這個工具。

1.創建張量

首先,我們需要安裝 PyTorch 并導入必要的庫。

# 安裝 PyTorch
!pip install torch

# 導入 PyTorch 庫
import torch

創建張量是最基本的操作之一。你可以從 Python 列表或 NumPy 數組中創建張量。

# 從列表創建張量
tensor_from_list = torch.tensor([1, 2, 3])
print(tensor_from_list)  # 輸出: tensor([1, 2, 3])

# 從 NumPy 數組創建張量
import numpy as np
numpy_array = np.array([1, 2, 3])
tensor_from_numpy = torch.from_numpy(numpy_array)
print(tensor_from_numpy)  # 輸出: tensor([1, 2, 3])

2.查看張量形狀

了解張量的形狀對于處理數據非常重要。

# 創建一個 2x3 的矩陣
matrix = torch.tensor([[1, 2, 3], [4, 5, 6]])
print(matrix.shape)  # 輸出: torch.Size([2, 3])

3.轉置張量

轉置可以改變張量的維度順序。

# 創建一個 2x3 的矩陣
matrix = torch.tensor([[1, 2, 3], [4, 5, 6]])
transposed_matrix = matrix.t()
print(transposed_matrix)  # 輸出:
# tensor([[1, 4],
#         [2, 5],
#         [3, 6]])

4.拆分張量

拆分張量可以幫助你在不同維度上分割數據。

# 創建一個 3x4 的矩陣
matrix = torch.tensor([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
split_tensors = torch.split(matrix, split_size=2, dim=1)
for t in split_tensors:
    print(t)
# 輸出:
# tensor([[ 1,  2],
#         [ 5,  6],
#         [ 9, 10]])
# tensor([[ 3,  4],
#         [ 7,  8],
#         [11, 12]])

5.拼接張量

拼接操作可以將多個張量合并成一個更大的張量。

# 創建兩個 2x2 的矩陣
matrix1 = torch.tensor([[1, 2], [3, 4]])
matrix2 = torch.tensor([[5, 6], [7, 8]])
concatenated_tensor = torch.cat((matrix1, matrix2), dim=0)
print(concatenated_tensor)  # 輸出:
# tensor([[1, 2],
#         [3, 4],
#         [5, 6],
#         [7, 8]])

6.張量索引

索引操作允許你選擇張量中的特定元素或子集。

# 創建一個 2x3 的矩陣
matrix = torch.tensor([[1, 2, 3], [4, 5, 6]])
element = matrix[0, 1]
print(element)  # 輸出: tensor(2)

sub_matrix = matrix[1, :]
print(sub_matrix)  # 輸出: tensor([4, 5, 6])

7.張量切片

切片可以讓你選擇張量的一部分。

# 創建一個 2x3 的矩陣
matrix = torch.tensor([[1, 2, 3], [4, 5, 6]])
slice_tensor = matrix[:, 1:]
print(slice_tensor)  # 輸出:
# tensor([[2, 3],
#         [5, 6]])

8.張量廣播

廣播是一種機制,允許你執行不同形狀的張量之間的操作。

# 創建一個 1x3 的向量和一個標量
vector = torch.tensor([1, 2, 3])
scalar = torch.tensor(2)

# 將向量乘以標量
broadcasted_tensor = vector * scalar
print(broadcasted_tensor)  # 輸出: tensor([2, 4, 6])

9.張量相加

相加操作用于將兩個張量對應位置的元素相加。

# 創建兩個 2x2 的矩陣
matrix1 = torch.tensor([[1, 2], [3, 4]])
matrix2 = torch.tensor([[5, 6], [7, 8]])

# 相加
sum_tensor = matrix1 + matrix2
print(sum_tensor)  # 輸出:
# tensor([[ 6,  8],
#         [10, 12]])

10.張量乘法

乘法操作可以用于點積或矩陣乘法。

# 創建兩個 2x2 的矩陣
matrix1 = torch.tensor([[1, 2], [3, 4]])
matrix2 = torch.tensor([[5, 6], [7, 8]])

# 點積
dot_product = torch.dot(matrix1.view(-1), matrix2.view(-1))
print(dot_product)  # 輸出: tensor(70)

# 矩陣乘法
matrix_product = torch.matmul(matrix1, matrix2)
print(matrix_product)  # 輸出:
# tensor([[19, 22],
#         [43, 50]])

11.張量歸一化

歸一化可以將張量的值調整到特定范圍內。

# 創建一個 1x3 的向量
vector = torch.tensor([1, 2, 3])

# 歸一化
normalized_vector = torch.nn.functional.normalize(vector, p=2, dim=0)
print(normalized_vector)  # 輸出: tensor([0.2673, 0.5345, 0.8018])

12.張量隨機初始化

隨機初始化在神經網絡訓練中非常重要。

# 隨機初始化一個 2x3 的矩陣
random_matrix = torch.randn(2, 3)
print(random_matrix)  # 輸出類似:
# tensor([[ 1.0431, -0.1827, -0.2591],
#         [-0.2442, -0.3353,  0.4927]])

總結

本文詳細介紹了 PyTorch 中常用的 12 種張量操作,包括創建張量、查看張量形狀、轉置張量、拆分張量、拼接張量、張量索引、張量切片、張量廣播、張量相加、張量乘法、張量歸一化和張量隨機初始化。這些操作是使用 PyTorch 進行深度學習的基礎,掌握它們將有助于你更高效地開發和訓練神經網絡模型。

責任編輯:趙寧寧 來源: 小白PythonAI編程
相關推薦

2021-06-18 06:31:55

PyTorchPython深度學習

2021-11-05 12:59:51

深度學習PytorchTenso

2022-01-03 16:08:36

深度學習PyTorchNumPy

2024-03-01 20:55:40

Pytorch張量Tensor

2025-04-27 09:59:38

深度學習AI人工智能

2024-11-08 13:34:24

2021-09-22 12:56:19

編程技能Golang

2009-12-18 09:23:11

2024-10-29 16:06:27

2023-09-22 11:58:49

2020-06-28 09:40:58

操作系統GPUCPU

2015-04-07 10:31:31

PHPMySQLBuffer用法

2024-01-05 17:15:21

pytorchtensor深度學習

2023-09-21 13:43:54

2010-03-25 17:52:11

2024-01-15 10:46:02

2024-07-16 14:15:09

2010-03-17 12:53:43

Python Libr

2011-08-30 14:25:06

QT數據庫

2023-06-27 08:45:19

原子操作Golang
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97国产一区二区精品久久呦 | 国产精品激情 | 国产精品视频二区三区 | 精品久久网 | 精品视频一区二区 | 91精品国产91久久久久久三级 | 国产精品久久久久久久久久不蜜臀 | 天天综合永久入口 | 81精品国产乱码久久久久久 | 国产成人精品视频在线观看 | 精品久久国产 | 中文字幕在线看人 | 成人精品| 久久伊人影院 | 在线日韩 | 免费观看的av毛片的网站 | 亚洲韩国精品 | 久久久国产一区二区三区 | 天天色综网 | 四季久久免费一区二区三区四区 | 国产精品一区二区无线 | 伊人免费视频二 | 国产三区av | 呦呦在线视频 | 拍拍无遮挡人做人爱视频免费观看 | 在线免费黄色 | 91视频导航 | 婷婷久久精品一区二区 | 久草在线| 久久精品国产一区二区三区不卡 | 日韩久久成人 | 天天欧美 | 成人精品一区二区 | 国产视频一区二区 | 99九色| 久久免费小视频 | 久久亚洲国产 | 亚洲自拍偷拍欧美 | 91中文在线观看 | 国产精品久久久久久久免费观看 | 精品国产欧美 |