Muodot ja Dimensiot PyTorchissa
Samoin kuin NumPy-taulukoissa, tensorin muoto määrittää sen ulottuvuudet. Tensorin muotoa voi tarkastella käyttämällä .shape-attribuuttia:
123import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(f"Tensor shape: {tensor.shape}")
Tensorien muodon muuttaminen view-metodilla
.view()-metodi luo uuden näkymän tensorista määritetyllä muodolla muuttamatta alkuperäistä tensoria. Alkiomäärän täytyy pysyä samana.
View on uusi tensori, jolla on eri muoto, mutta joka jakaa saman datan alkuperäisen tensorin kanssa. Muutokset näkymään vaikuttavat alkuperäiseen tensoriin ja päinvastoin, koska ne jakavat saman taustamuistin.
1234567import torch tensor = torch.arange(12) # Reshape a tensor to 4x3 reshaped_tensor = tensor.view(4, 3) print(f"Reshaped tensor: {reshaped_tensor}") # Original tensor remains unchanged print(f"Original tensor: {tensor}")
Tensorien uudelleenmuotoilu reshape-metodilla
.reshape()-metodi on samankaltainen kuin .view(), mutta se pystyy käsittelemään tilanteita, joissa tensori ei ole tallennettu yhtenäisesti muistiin. Se ei myöskään muuta alkuperäistä tensoria.
12345import torch tensor = torch.arange(12) # Reshape a tensor to 6x2 reshaped_tensor = tensor.reshape(6, 2) print(f"Reshaped tensor: {reshaped_tensor}")
Negatiivisten ulottuvuuksien käyttö
Voit käyttää -1 muodon määrittelyssä, jolloin PyTorch päättelee yhden ulottuvuuden koon elementtien kokonaismäärän perusteella.
12345import torch tensor = torch.arange(12) # Automatically infer the second dimension inferred_tensor = tensor.view(2, -1) print("Inferred Tensor:", inferred_tensor)
Tensorsi näkymien ymmärtäminen
Tensorsin näkymä jakaa saman datan alkuperäisen tensorsin kanssa. Muutokset näkymään vaikuttavat alkuperäiseen tensorsiin ja päinvastoin.
1234567import torch tensor = torch.arange(12) view_tensor = tensor.view(2, 6) view_tensor[0, 0] = 999 # Changes in the view are reflected in the original tensor print("View Tensor:", view_tensor) print("Original Tensor:", tensor)
Ulottuvuuksien muuttaminen
Seuraavat kaksi menetelmää mahdollistavat ulottuvuuksien lisäämisen tai poistamisen:
unsqueeze(dim)lisää uuden ulottuvuuden määritettyyn kohtaan;squeeze(dim)poistaa yksikokoiset ulottuvuudet.
12345678import torch tensor = torch.arange(12) # Add a new dimension unsqueezed_tensor = tensor.unsqueeze(0) # Add a batch dimension print(f"Unsqueezed tensor: {unsqueezed_tensor.shape}") # Remove a dimension of size 1 squeezed_tensor = unsqueezed_tensor.squeeze(0) print(f"Squeezed Tensor: {squeezed_tensor.shape}")
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 5
Muodot ja Dimensiot PyTorchissa
Pyyhkäise näyttääksesi valikon
Samoin kuin NumPy-taulukoissa, tensorin muoto määrittää sen ulottuvuudet. Tensorin muotoa voi tarkastella käyttämällä .shape-attribuuttia:
123import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(f"Tensor shape: {tensor.shape}")
Tensorien muodon muuttaminen view-metodilla
.view()-metodi luo uuden näkymän tensorista määritetyllä muodolla muuttamatta alkuperäistä tensoria. Alkiomäärän täytyy pysyä samana.
View on uusi tensori, jolla on eri muoto, mutta joka jakaa saman datan alkuperäisen tensorin kanssa. Muutokset näkymään vaikuttavat alkuperäiseen tensoriin ja päinvastoin, koska ne jakavat saman taustamuistin.
1234567import torch tensor = torch.arange(12) # Reshape a tensor to 4x3 reshaped_tensor = tensor.view(4, 3) print(f"Reshaped tensor: {reshaped_tensor}") # Original tensor remains unchanged print(f"Original tensor: {tensor}")
Tensorien uudelleenmuotoilu reshape-metodilla
.reshape()-metodi on samankaltainen kuin .view(), mutta se pystyy käsittelemään tilanteita, joissa tensori ei ole tallennettu yhtenäisesti muistiin. Se ei myöskään muuta alkuperäistä tensoria.
12345import torch tensor = torch.arange(12) # Reshape a tensor to 6x2 reshaped_tensor = tensor.reshape(6, 2) print(f"Reshaped tensor: {reshaped_tensor}")
Negatiivisten ulottuvuuksien käyttö
Voit käyttää -1 muodon määrittelyssä, jolloin PyTorch päättelee yhden ulottuvuuden koon elementtien kokonaismäärän perusteella.
12345import torch tensor = torch.arange(12) # Automatically infer the second dimension inferred_tensor = tensor.view(2, -1) print("Inferred Tensor:", inferred_tensor)
Tensorsi näkymien ymmärtäminen
Tensorsin näkymä jakaa saman datan alkuperäisen tensorsin kanssa. Muutokset näkymään vaikuttavat alkuperäiseen tensorsiin ja päinvastoin.
1234567import torch tensor = torch.arange(12) view_tensor = tensor.view(2, 6) view_tensor[0, 0] = 999 # Changes in the view are reflected in the original tensor print("View Tensor:", view_tensor) print("Original Tensor:", tensor)
Ulottuvuuksien muuttaminen
Seuraavat kaksi menetelmää mahdollistavat ulottuvuuksien lisäämisen tai poistamisen:
unsqueeze(dim)lisää uuden ulottuvuuden määritettyyn kohtaan;squeeze(dim)poistaa yksikokoiset ulottuvuudet.
12345678import torch tensor = torch.arange(12) # Add a new dimension unsqueezed_tensor = tensor.unsqueeze(0) # Add a batch dimension print(f"Unsqueezed tensor: {unsqueezed_tensor.shape}") # Remove a dimension of size 1 squeezed_tensor = unsqueezed_tensor.squeeze(0) print(f"Squeezed Tensor: {squeezed_tensor.shape}")
Kiitos palautteestasi!