Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Johdanto Tensoreihin | Tensorit
Johdanto TensorFlow'hun
Osio 1. Luku 2
single

single

Johdanto Tensoreihin

Pyyhkäise näyttääksesi valikon

Johdatus tensoreihin

Tässä osiossa tarkastellaan perusteellisesti tensoreita, jotka ovat TensorFlow'n perusrakenteita. Tensorit ovat olennainen osa koneoppimisen ja syväoppimisen työnkulkuja. Tässä luvussa käsitellään niiden merkitystä ja käyttökohteita.

Mitä tensorit ovat?

Tensorit voidaan nähdä moniulotteisina taulukoina. Ne toimivat datan säiliöinä, jotka sisältävät arvoja rakenteisessa, N-ulotteisessa muodossa. Voit ajatella niitä rakennuspalikoina: yksittäin ne voivat vaikuttaa yksinkertaisilta, mutta yhdessä ne muodostavat monimutkaisia rakenteita.

tensorit

Tensorien tyypit

Olet itse asiassa kohdannut tensoreita aiemmin, erityisesti jos olet käyttänyt NumPy- ja Pandas-kirjastoja:

  • Scalaarit: vain yksi luku. Tämä on 0-ulotteinen tensori. Esimerkki: 5;
  • Vektorit: lukujen taulukko. Tämä on 1-ulotteinen tensori. Esimerkki: [1, 2, 3];
  • Matriisit: 2-ulotteinen tensori. Ajattele sitä lukuruudukoksi. Esimerkki:
[[1, 2]
 [3, 4]
 [5, 6]]
  • 3D-tensorit: kun pinoat matriiseja, saat 3D-tensoreita;
3d_tensor_creation
Note
Huomio

Yllä olevassa animaatiossa esitetty 3D-tensori voidaan esittää seuraavasti:

[[[6, 9, 6], [1, 1, 2], [9, 7, 3]],
 [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
 [[5, 6, 3], [5, 3, 5], [8, 8, 2]]]

Jokainen rivi vastaa yksittäistä matriisia (2D-tensoria).

  • Korkeammat ulottuvuudet: ja voit jatkaa kasaamista vielä korkeampiin ulottuvuuksiin.
carousel-imgcarousel-imgcarousel-img

Siirtyminen matalamman ulotteisista korkeampiin ulotteisiin tensoreihin saattaa vaikuttaa harppaukselta, mutta kyseessä on luonnollinen eteneminen, kun käsitellään tietorakenteita. Mitä syvemmälle menet neuroverkkoarkkitehtuureissa, erityisesti konvoluutiohermoverkoissa (CNN) tai toistuvissa hermoverkoissa (RNN), sitä useammin kohtaat näitä. Monimutkaisuus kasvaa, mutta muista, että pohjimmiltaan ne ovat vain tietosäiliöitä.

nd_tensor

Merkitys syväoppimisessa

Tensorien korostaminen syväoppimisessa johtuu niiden yhtenäisyydestä ja tehokkuudesta. Ne tarjoavat johdonmukaisen rakenteen, jonka ansiosta matemaattiset operaatiot voidaan suorittaa saumattomasti, erityisesti GPU:illa. Kun neuroverkoissa käsitellään erilaisia datamuotoja, kuten kuvia tai ääntä, tensorit yksinkertaistavat datan esitystä varmistaen muodon, hierarkian ja järjestyksen säilymisen.

Tenzorin perusluonti

Tensorin luomiseen TensorFlow'ssa on useita tapoja, kuten satunnaisen tai rakenteisen datan generointi, datan tuonti ennalta määritellystä tietojoukosta tai tiedostosta. Keskitytään kuitenkin nyt yksinkertaisimpaan tapaan – tenzorin luomiseen Python-listasta.

123456789101112
import tensorflow as tf # Create a 1D tensor tensor_1D = tf.constant([1, 2, 3]) # Create a 2D tensor tensor_2D = tf.constant([[1, 2, 3], [4, 5, 6]]) # Display tensor info print(tensor_1D) print('-' * 50) print(tensor_2D)
Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Sinun tulee luoda tensoreita, joiden ulottuvuudet ovat 1, 2 ja 3. Voit täyttää ne haluamillasi arvoilla, mutta varmista, että säilytät määritellyn ulottuvuuksien määrän. Katso aiemmin annettua esimerkkiä ja tarvittaessa hyödynnä vihjettä.

Huomio

Kaikkien tensorin alilistojen pituuksien tulee olla yhtenevät. Esimerkiksi, jos yhden 2D-tensorin alatensorin pituus on 3, tulee kaikkien muiden alatensoreidenkin olla samanpituisia. [[1, 2], [1, 2]] on kelvollinen tensori, mutta [[1, 2], [1, 2, 3]] ei ole.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt