Rumah > Peranti teknologi > AI > teks badan

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

王林
Lepaskan: 2024-01-09 20:50:24
ke hadapan
961 orang telah melayarinya

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深度
Salin selepas log masuk

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
Salin selepas log masuk

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)
Salin selepas log masuk

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()
Salin selepas log masuk

2. Bentuk

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

# 获取张量的形状shape = tensor_3d.shape
Salin selepas log masuk

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()
Salin selepas log masuk

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)
Salin selepas log masuk

2 Operasi logik

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

3 Pengindeksan dan penghirisan

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

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)
Salin selepas log masuk
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!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan