Grunnleggende Operasjoner: Lineær Algebra
Lineær algebra-operasjoner
TensorFlow tilbyr et sett med funksjoner dedikert til lineær algebra-operasjoner, noe som gjør matriseoperasjoner enkle.
Matrisemultiplikasjon
Her er en rask påminnelse om hvordan matrisemultiplikasjon fungerer.
Det finnes to likeverdige tilnærminger for matrisemultiplikasjon:
- Funksjonen
tf.matmul(); - Bruk av
@-operatoren.
1234567891011121314import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
Multiplikasjon av matriser med størrelse 3x2 og 2x4 vil gi en matrise på 3x4.
Matriseinvers
Du kan finne inversen til en matrise ved å bruke funksjonen tf.linalg.inv(). I tillegg skal vi verifisere en grunnleggende egenskap ved den inverse matrisen.
123456789101112131415import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
Å multiplisere en matrise med dens inverse skal gi en identitetsmatrise, som har énere på hoveddiagonalen og nuller ellers. I tillegg tilbyr tf.linalg-modulen et bredt utvalg av lineær algebra-funksjoner. For mer informasjon eller avanserte operasjoner, se gjerne offisiell dokumentasjon.
Transponering
Du kan oppnå en transponert matrise ved å bruke funksjonen tf.transpose().
123456789101112import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
Prikkprodukt
Du kan oppnå et prikkprodukt ved å bruke funksjonen tf.tensordot(). Ved å angi et axes-argument kan du velge langs hvilke akser prikkproduktet skal beregnes. For eksempel, for to vektorer vil du ved å sette axes=1 få det klassiske prikkproduktet mellom vektorer. Men når du setter axes=0, vil du få en kringkastet matrise langs 0-aksen:
1234567891011121314import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
Hvis du tar to matriser med passende dimensjoner (NxM @ MxK, der NxM representerer dimensjonene til den første matrisen og MxK den andre), og beregner prikkproduktet langs axes=1, utfører det i hovedsak matrisemultiplikasjon.
Swipe to start coding
Bakgrunn
Et system av lineære ligninger kan representeres i matriseform ved hjelp av ligningen:
AX = B
Hvor:
Aer en matrise med koeffisienter;Xer en kolonnematrise med variabler;Ber en kolonnematrise som representerer verdiene på høyre side av ligningene.
Løsningen på dette systemet kan finnes ved hjelp av formelen:
X = A^-1 B
Hvor A^-1 er den inverse av matrisen A.
Mål
Gitt et system av lineære ligninger, bruk TensorFlow til å løse det. Du får følgende system av lineære ligninger:
2x + 3y - z = 1.4x + y + 2z = 2.-x + 2y + 3z = 3.
- Representer ligningssystemet i matriseform (del det opp i matriser
AogB). - Bruk TensorFlow til å finne inversen av matrisen
A. - Multipliser inversen av matrisen
Amed matrisenBfor å finne løsningsmatrisenX, som inneholder verdiene tilx,yogz.
Merk
Slicing i TensorFlow fungerer på samme måte som i NumPy. Derfor vil
X[:, 0]hente ut alle elementene fra kolonnen med indeks0. Vi kommer tilbake til slicing senere i kurset.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the difference between tf.matmul() and the @ operator?
How do I interpret the output of the matrix inversion example?
Can you show more examples of using tf.tensordot() with different axes?
Awesome!
Completion rate improved to 5.56
Grunnleggende Operasjoner: Lineær Algebra
Sveip for å vise menyen
Lineær algebra-operasjoner
TensorFlow tilbyr et sett med funksjoner dedikert til lineær algebra-operasjoner, noe som gjør matriseoperasjoner enkle.
Matrisemultiplikasjon
Her er en rask påminnelse om hvordan matrisemultiplikasjon fungerer.
Det finnes to likeverdige tilnærminger for matrisemultiplikasjon:
- Funksjonen
tf.matmul(); - Bruk av
@-operatoren.
1234567891011121314import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
Multiplikasjon av matriser med størrelse 3x2 og 2x4 vil gi en matrise på 3x4.
Matriseinvers
Du kan finne inversen til en matrise ved å bruke funksjonen tf.linalg.inv(). I tillegg skal vi verifisere en grunnleggende egenskap ved den inverse matrisen.
123456789101112131415import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
Å multiplisere en matrise med dens inverse skal gi en identitetsmatrise, som har énere på hoveddiagonalen og nuller ellers. I tillegg tilbyr tf.linalg-modulen et bredt utvalg av lineær algebra-funksjoner. For mer informasjon eller avanserte operasjoner, se gjerne offisiell dokumentasjon.
Transponering
Du kan oppnå en transponert matrise ved å bruke funksjonen tf.transpose().
123456789101112import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
Prikkprodukt
Du kan oppnå et prikkprodukt ved å bruke funksjonen tf.tensordot(). Ved å angi et axes-argument kan du velge langs hvilke akser prikkproduktet skal beregnes. For eksempel, for to vektorer vil du ved å sette axes=1 få det klassiske prikkproduktet mellom vektorer. Men når du setter axes=0, vil du få en kringkastet matrise langs 0-aksen:
1234567891011121314import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
Hvis du tar to matriser med passende dimensjoner (NxM @ MxK, der NxM representerer dimensjonene til den første matrisen og MxK den andre), og beregner prikkproduktet langs axes=1, utfører det i hovedsak matrisemultiplikasjon.
Swipe to start coding
Bakgrunn
Et system av lineære ligninger kan representeres i matriseform ved hjelp av ligningen:
AX = B
Hvor:
Aer en matrise med koeffisienter;Xer en kolonnematrise med variabler;Ber en kolonnematrise som representerer verdiene på høyre side av ligningene.
Løsningen på dette systemet kan finnes ved hjelp av formelen:
X = A^-1 B
Hvor A^-1 er den inverse av matrisen A.
Mål
Gitt et system av lineære ligninger, bruk TensorFlow til å løse det. Du får følgende system av lineære ligninger:
2x + 3y - z = 1.4x + y + 2z = 2.-x + 2y + 3z = 3.
- Representer ligningssystemet i matriseform (del det opp i matriser
AogB). - Bruk TensorFlow til å finne inversen av matrisen
A. - Multipliser inversen av matrisen
Amed matrisenBfor å finne løsningsmatrisenX, som inneholder verdiene tilx,yogz.
Merk
Slicing i TensorFlow fungerer på samme måte som i NumPy. Derfor vil
X[:, 0]hente ut alle elementene fra kolonnen med indeks0. Vi kommer tilbake til slicing senere i kurset.
Løsning
Takk for tilbakemeldingene dine!
single