오늘은 Pytorch의 텐서 내용을 기록해 보겠습니다.
동시에 여러분께도 도움이 되었으면 좋겠습니다!
오늘 공유한 콘텐츠는 확실히 매우 실용적인 예시이기 때문이죠.
먼저 간략한 소개를 하겠습니다. PyTorch에서 텐서는 NumPy의 배열과 유사한 다차원 배열입니다. 텐서는 데이터를 저장하는 컨테이너일 뿐만 아니라 다양한 수학적 연산과 딥러닝 연산의 기초이기도 합니다.
다음은 세 가지 측면에서 요약한 것입니다.
그림
텐서는 스칼라(0차원 배열), 벡터(1차원 배열), 행렬(2차원 배열) 또는 더 높은 차원의 배열일 수 있는 다차원 배열입니다.
PyTorch에서 텐서는 torch.Tensor의 인스턴스이며 Python 목록, NumPy 배열 또는 특정 함수를 통해 직접 생성하는 등 다양한 방법으로 생성될 수 있습니다.
import torch# 创建一个标量scalar_tensor = torch.tensor(3.14)# 创建一个向量vector_tensor = torch.tensor([1, 2, 3])# 创建一个矩阵matrix_tensor = torch.tensor([[1, 2, 3], [4, 5, 6]])# 创建一个3D张量tensor_3d = torch.rand((2, 3, 4))# 2行3列4深度
각 텐서에는 모양(shape), 데이터 유형(dtype) 및 장치(device)를 포함한 몇 가지 중요한 속성이 있습니다.
# 获取张量的形状shape = tensor_3d.shape# 获取张量的数据类型dtype = tensor_3d.dtype# 获取张量所在的设备device = tensor_3d.device
텐서의 모양은 차원과 각 차원의 크기를 정의합니다. 예를 들어 (2, 3, 4) 모양의 텐서는 행 2개, 열 3개, 깊이 4개를 갖습니다. 모양은 텐서를 이해하고 조작하는 데 매우 중요합니다.
# 获取张量的形状shape = tensor_3d.shape# 改变张量的形状reshaped_tensor = tensor_3d.view(3, 8)# 将原始形状(2, 3, 4)变为(3, 8)
PyTorch의 텐서는 기본 저장소의 추상화를 제공하는 텐서 클래스를 기반으로 구현됩니다.
Tensors에는 세 가지 주요 구성 요소가 포함됩니다.
(Storage) Storage는 데이터가 실제로 저장되는 곳으로, 연속된 메모리 영역입니다. 여러 텐서가 동일한 스토리지를 공유하여 메모리 소비를 줄일 수 있습니다. 저장되는 데이터는 텐서의 모양에 따라 배열됩니다.
# 获取张量的存储storage = tensor_3d.storage()
텐서의 모양은 차원과 각 차원의 크기를 정의합니다. 형태 정보는 스토리지에서 데이터가 구성되는 방식을 설명하는 데 도움이 됩니다.
# 获取张量的形状shape = tensor_3d.shape
Stride는 저장소의 다음 요소로 이동하는 데 필요한 단계 수를 나타냅니다. 스트라이드를 이해하면 텐서 내에서 인덱싱 및 슬라이싱 시 성능을 이해하는 데 도움이 됩니다.
# 获取张量的步幅stride = tensor_3d.stride()
PyTorch는 수학 연산, 논리 연산, 인덱싱, 슬라이싱 등을 포함한 다양한 텐서 연산을 제공합니다.
가장 일반적인 중앙 집중식 작업은 다음과 같습니다.
# 加法result_add = tensor_3d + 2# 乘法result_mul = tensor_3d * 3# 矩阵乘法matrix_a = torch.rand((2, 3))matrix_b = torch.rand((3, 4))result_matmul = torch.mm(matrix_a, matrix_b)
# 大小比较result_compare = tensor_3d > 0.5# 逻辑运算result_logical = torch.logical_and(result_add, result_compare)
# 索引element = tensor_3d[0, 1, 2]# 切片sliced_tensor = tensor_3d[:, 1:3, :]
# 改变形状reshaped_tensor = tensor_3d.view(3, 8)# 转置transposed_tensor = tensor_3d.transpose(0, 2)
오늘은 PyTorch의 텐서 기본 개념, 원리, 일반적인 동작을 소개합니다.
Tensor는 딥러닝의 기본 데이터 구조로서 신경망을 이해하고 구현하는 데 매우 중요합니다.위 내용은 Tensor의 혁신으로 가는 길, Pytorch의 핵심에 대한 심층적인 이해!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!