Muodot ja Ulottuvuudet Pytorchissa
Samoin kuin NumPy-taulukoissa, tensorin muoto määrittää sen ulottuvuudet. Voit tarkastella tensorin muotoa 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 on pysyttävä samana.
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}")
Tenseurien muotoilu reshape-metodilla
.reshape()
-metodi on samankaltainen kuin .view()
, mutta se pystyy käsittelemään tilanteita, joissa tensori ei ole yhtenäisesti tallennettu 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 dimensioiden käyttö
Voit käyttää -1
muodon määrittelyssä, jolloin PyTorch päättelee yhden ulottuvuuden koon kokonaisalkioiden mää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)
Tensorin näkymien ymmärtäminen
Tensorin näkymä jakaa saman datan alkuperäisen tensorin kanssa. Muutokset näkymään vaikuttavat alkuperäiseen tensoriin 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 ulottuvuudet, joiden koko on 1.
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
Awesome!
Completion rate improved to 5
Muodot ja Ulottuvuudet Pytorchissa
Pyyhkäise näyttääksesi valikon
Samoin kuin NumPy-taulukoissa, tensorin muoto määrittää sen ulottuvuudet. Voit tarkastella tensorin muotoa 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 on pysyttävä samana.
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}")
Tenseurien muotoilu reshape-metodilla
.reshape()
-metodi on samankaltainen kuin .view()
, mutta se pystyy käsittelemään tilanteita, joissa tensori ei ole yhtenäisesti tallennettu 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 dimensioiden käyttö
Voit käyttää -1
muodon määrittelyssä, jolloin PyTorch päättelee yhden ulottuvuuden koon kokonaisalkioiden mää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)
Tensorin näkymien ymmärtäminen
Tensorin näkymä jakaa saman datan alkuperäisen tensorin kanssa. Muutokset näkymään vaikuttavat alkuperäiseen tensoriin 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 ulottuvuudet, joiden koko on 1.
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!