Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Matemaattiset Operaatiot Tensoreilla | Osio
Pytorch-Osaamisen Perusteet ML-Insinöörille

bookMatemaattiset Operaatiot Tensoreilla

Alkiokohtaiset operaatiot

Alkiokohtaiset operaatiot kohdistuvat jokaiseen tensorin alkioon yksittäin. Näitä operaatioita, kuten yhteenlasku, vähennyslasku ja jakolasku, käytetään samalla tavalla kuin NumPy-kirjastossa:

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Matriisioperaatiot

PyTorch tukee myös matriisikertolaskua ja pistetuloa, jotka suoritetaan torch.matmul()-funktiolla:

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

Voit myös käyttää @-operaattoria matriisikertolaskuun:

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Aggregointitoiminnot

Aggregointitoiminnot laskevat yhteenvetotilastoja tensoreista, kuten summan, keskiarvon, maksimi- ja minimiarvot, jotka voidaan laskea niiden omilla metodeilla.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy
Note
Huomio

Käytimme float()-metodia muuntaaksemme tensorin tietotyypin liukuluvuksi, koska mean()-metodi vaatii liukulukutyyppisen tensorin. Ilman tätä muunnosta tensorilla säilyy oletusarvoinen kokonaislukutyyppi, joka ei ole yhteensopiva mean()-funktion kanssa.

Aggregointimenetelmillä on myös kaksi valinnaista parametria:

  • dim: määrittää ulottuvuuden (vastaava kuin axis NumPyssa), jonka mukaan operaatio suoritetaan. Oletuksena, jos dim-parametria ei anneta, operaatio suoritetaan kaikille tensorin alkioille;
  • keepdim: totuusarvomuuttuja (False oletuksena). Jos asetettu arvoon True, pienennetty ulottuvuus säilytetään koon 1 ulottuvuutena tuloksessa, säilyttäen alkuperäisen ulottuvuuksien määrän.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Broadcastaus

Broadcastaus mahdollistaa operaatioiden suorittamisen erimuotoisten tensorien välillä automaattisesti laajentamalla ulottuvuuksia. Jos tarvitset kertausta broadcastauksesta, löydät lisätietoja täältä.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Hyödylliset matemaattiset funktiot

PyTorch tarjoaa myös useita matemaattisia funktioita, kuten eksponentiaalit, logaritmit ja trigonometriset funktiot.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

Mikä seuraavista operaatioista suorittaa matriisikertolaskun oikein PyTorchissa?

Select all correct answers

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookMatemaattiset Operaatiot Tensoreilla

Pyyhkäise näyttääksesi valikon

Alkiokohtaiset operaatiot

Alkiokohtaiset operaatiot kohdistuvat jokaiseen tensorin alkioon yksittäin. Näitä operaatioita, kuten yhteenlasku, vähennyslasku ja jakolasku, käytetään samalla tavalla kuin NumPy-kirjastossa:

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Matriisioperaatiot

PyTorch tukee myös matriisikertolaskua ja pistetuloa, jotka suoritetaan torch.matmul()-funktiolla:

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

Voit myös käyttää @-operaattoria matriisikertolaskuun:

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Aggregointitoiminnot

Aggregointitoiminnot laskevat yhteenvetotilastoja tensoreista, kuten summan, keskiarvon, maksimi- ja minimiarvot, jotka voidaan laskea niiden omilla metodeilla.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy
Note
Huomio

Käytimme float()-metodia muuntaaksemme tensorin tietotyypin liukuluvuksi, koska mean()-metodi vaatii liukulukutyyppisen tensorin. Ilman tätä muunnosta tensorilla säilyy oletusarvoinen kokonaislukutyyppi, joka ei ole yhteensopiva mean()-funktion kanssa.

Aggregointimenetelmillä on myös kaksi valinnaista parametria:

  • dim: määrittää ulottuvuuden (vastaava kuin axis NumPyssa), jonka mukaan operaatio suoritetaan. Oletuksena, jos dim-parametria ei anneta, operaatio suoritetaan kaikille tensorin alkioille;
  • keepdim: totuusarvomuuttuja (False oletuksena). Jos asetettu arvoon True, pienennetty ulottuvuus säilytetään koon 1 ulottuvuutena tuloksessa, säilyttäen alkuperäisen ulottuvuuksien määrän.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Broadcastaus

Broadcastaus mahdollistaa operaatioiden suorittamisen erimuotoisten tensorien välillä automaattisesti laajentamalla ulottuvuuksia. Jos tarvitset kertausta broadcastauksesta, löydät lisätietoja täältä.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Hyödylliset matemaattiset funktiot

PyTorch tarjoaa myös useita matemaattisia funktioita, kuten eksponentiaalit, logaritmit ja trigonometriset funktiot.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

Mikä seuraavista operaatioista suorittaa matriisikertolaskun oikein PyTorchissa?

Select all correct answers

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7
some-alt