Rumah >Peranti teknologi >AI >Pemahaman mendalam tentang teras Pytorch, jalan Tensor untuk mencapai kejayaan!

Pemahaman mendalam tentang teras Pytorch, jalan Tensor untuk mencapai kejayaan!

王林
王林ke hadapan
2024-01-09 20:50:24965semak imbas

Hari ini saya akan membuat rekod kandungan tensor Pytorch.

Pada masa yang sama, saya harap saya dapat memberikan bantuan kepada anda!

Sebab kandungan yang dikongsikan hari ini pastinya beberapa contoh yang sangat praktikal.

Pengenalan ringkas dahulu Dalam PyTorch, tensor ialah struktur data teras Ia adalah tatasusunan berbilang dimensi, serupa dengan tatasusunan dalam NumPy. Tensor bukan sahaja bekas untuk menyimpan data, tetapi juga asas untuk pelbagai operasi matematik dan operasi pembelajaran mendalam.

Berikut adalah ringkasan daripada tiga aspek:

  • Konsep tensor
  • Prinsip tensor
  • Kendalian tensor

突破Pytorch核心,Tensor !!Konsep tensor

Definisi tensor

Tensor ialah tatasusunan berbilang dimensi, yang boleh menjadi skalar (tatasusunan sifar dimensi), vektor (tatasusunan satu dimensi), matriks (tatasusunan dua dimensi) atau tatasusunan dengan dimensi yang lebih tinggi.

Dalam PyTorch, tensor ialah contoh obor. Tensor dan boleh dibuat dengan cara yang berbeza, seperti terus daripada senarai Python, tatasusunan NumPy atau melalui fungsi tertentu.

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深度

2. Sifat tensor

Setiap tensor mempunyai beberapa sifat penting, termasuk bentuk (bentuk), jenis data (dtype) dan peranti (peranti).

# 获取张量的形状shape = tensor_3d.shape# 获取张量的数据类型dtype = tensor_3d.dtype# 获取张量所在的设备device = tensor_3d.device

3. Bentuk tensor

Bentuk tensor menentukan dimensi dan saiz dalam setiap dimensi. Sebagai contoh, tensor bentuk (2, 3, 4) mempunyai 2 baris, 3 lajur dan 4 kedalaman. Bentuk sangat penting untuk memahami dan memanipulasi tensor.

# 获取张量的形状shape = tensor_3d.shape# 改变张量的形状reshaped_tensor = tensor_3d.view(3, 8)# 将原始形状(2, 3, 4)变为(3, 8)

Prinsip tensor

Tensor dalam PyTorch dilaksanakan berdasarkan kelas Tensor, yang menyediakan abstraksi storan asas.

Tensor mengandungi tiga komponen utama:
  • Penyimpanan
  • Bentuk
  • Stride

1. Penyimpanan

(Penyimpanan) Penyimpanan adalah tempat penyimpanan data, ia sebenarnya disimpan. Tensor berbilang boleh berkongsi storan yang sama, mengurangkan penggunaan memori. Data dalam storan disusun mengikut bentuk tensor.

# 获取张量的存储storage = tensor_3d.storage()

2. Bentuk

Bentuk tensor menentukan dimensi dan saiz dalam setiap dimensi. Maklumat bentuk membantu menerangkan cara data dalam storan disusun.

# 获取张量的形状shape = tensor_3d.shape

3. Stride

Stride merujuk kepada bilangan langkah yang diperlukan untuk beralih ke elemen seterusnya dalam storan. Memahami langkah membantu memahami prestasi semasa mengindeks dan menghiris dalam tensor.

# 获取张量的步幅stride = tensor_3d.stride()

Operasi tensor

PyTorch menyediakan banyak operasi tensor, termasuk operasi matematik, operasi logik, pengindeksan, penghirisan, dll.

Berikut adalah operasi terpusat yang paling biasa:

1 Operasi matematik

# 加法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)

2 Operasi logik

# 大小比较result_compare = tensor_3d > 0.5# 逻辑运算result_logical = torch.logical_and(result_add, result_compare)

3 Pengindeksan dan penghirisan

# 索引element = tensor_3d[0, 1, 2]# 切片sliced_tensor = tensor_3d[:, 1:3, :]

Penyiaran

pemutus ialah An operasi yang mengembangkan tensor secara automatik supaya operasi matematik mengikut unsur boleh dilakukan pada tensor pelbagai bentuk.

# 改变形状reshaped_tensor = tensor_3d.view(3, 8)# 转置transposed_tensor = tensor_3d.transpose(0, 2)
Akhirnya

Hari ini kami memperkenalkan konsep asas, prinsip dan operasi biasa tensor dalam PyTorch.

Tensor, sebagai struktur data asas dalam pembelajaran mendalam, sangat kritikal untuk memahami dan melaksanakan rangkaian saraf.

Atas ialah kandungan terperinci Pemahaman mendalam tentang teras Pytorch, jalan Tensor untuk mencapai kejayaan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam