Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tensorien Luominen | Tensorit
Johdanto TensorFlow'hun

bookTensorien Luominen

Tensorien luominen

Tässä luvussa keskitytään tensorien luomiseen TensorFlow'n avulla. TensorFlow tarjoaa useita menetelmiä tensorien alustamiseen. Tämän luvun lopussa hallitset tensorien generoinnin monenlaisiin käyttötarkoituksiin.

Perustason tensorin alustajat

  • tf.constant(): tämä on yksinkertaisin tapa luoda tensori. Kuten nimi kertoo, tällä menetelmällä alustetut tensorit sisältävät vakioarvoja ja ovat muuttumattomia;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): toisin kuin tf.constant(), tf.Variable()-funktiolla määritelty tensori on muokattavissa. Tämä tarkoittaa, että sen arvoa voidaan muuttaa, mikä tekee siitä sopivan esimerkiksi mallien opetettaville parametreille;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): luo tensori, joka on täytetty nollilla;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): vastaavasti tämä luo tensorin, joka on täytetty ykkösillä;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): luo tensorin, joka on täytetty tietyllä arvolla;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() ja tf.range(): erinomaisia sekvenssien luomiseen;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random: luo tensoreita satunnaisarvoilla. Tässä moduulissa on useita jakaumia ja funktioita, kuten tf.random.normal() normaalijakauman arvoille ja tf.random.uniform() tasajakauman arvoille.
Note
Huomio

Voit myös asettaa kiinteän siemenen saadaksesi johdonmukaiset tulokset jokaisella satunnaislukugeneroinnilla käyttämällä tf.random.set_seed(). Huomaa kuitenkin, että näin saat saman luvun kaikissa TensorFlow'n satunnaisgeneroinneissa.

Jos haluat johdonmukaiset luvut vain tietylle komennolle, voit antaa kyseiselle komennolle seed-argumentin haluamallasi siemenarvolla.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Tietorakenteiden välinen muuntaminen

TensorFlow-tensorit voidaan saumattomasti muuntaa tutuiksi Pythonin tietorakenteiksi ja takaisin.

  • Numpy-taulukoista: TensorFlow-tensorit ja Numpy-taulukot ovat hyvin yhteensopivia. Käytä tf.convert_to_tensor();
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • Pandas DataFrameista: Pandas-kirjaston käyttäjille DataFrame- tai Series-objektin muuntaminen TensorFlow-tensoriksi on suoraviivaista. Käytä myös tf.convert_to_tensor() -funktiota;
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Huomio

Varmista aina, että alkuperäisten rakenteiden (Numpy-taulukot tai Pandas DataFrame -objektit) tietotyypit ovat yhteensopivia TensorFlow-tensorin tietotyyppien kanssa. Jos tietotyypeissä on eroavaisuuksia, harkitse tyyppimuunnosta.

  • Vakio-tensorin muuntaminen Variable-muotoon: Variable voidaan alustaa useilla tensorin luontimenetelmillä, kuten tf.ones(), tf.linspace(), tf.random ja niin edelleen. Anna funktio tai olemassa oleva tensori suoraan tf.Variable()-funktiolle.
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

Taitojen kehittämiseksi tensorien luonnissa kannattaa harjoitella erilaisilla muodoilla ja arvoilla. Lisätietoja yksittäisistä komennoista löytyy virallisesta TensorFlow-dokumentaatiosta. Sieltä löytyy kaikki tarvittava tieto kirjaston komennoista ja moduuleista.

Tehtävä

Swipe to start coding

Hienoa! Nyt on aika testata tensorien luomisen ja muuntamisen taitojasi. Tässä on haasteesi:

  1. Tensorien alustaminen

    • Luo tensor nimeltä tensor_A, jonka muoto on (3,3) ja kaikki alkiot ovat 5;
    • Luo muokattavissa oleva tensor nimeltä tensor_B, jonka muoto on (2,3) ja alusta se millä tahansa arvoilla;
    • Luo tensor nimeltä tensor_C, jonka muoto on (3,3) ja joka on täytetty nollilla;
    • Luo tensor nimeltä tensor_D, jonka muoto on (4,4) ja joka on täytetty ykkösillä;
    • Luo tensor nimeltä tensor_E, jossa on 5 lineaarisesti jaettua arvoa väliltä 3 ja 15;
    • Luo tensor nimeltä tensor_F, jossa on satunnaisia arvoja ja muoto (2,2).
  2. Muunnokset

    • Muunna annettu NumPy-taulukko np_array TensorFlow-tensoriksi nimeltä tensor_from_array;
    • Muunna DataFrame df tensoriksi nimeltä tensor_from_dataframe.

Huom

Muista käyttää tilanteeseen parhaiten sopivia komentoja (esim. luo ykkösillä täytetty taulukko käyttäen tf.ones() eikä tf.fill()).

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 6
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain the difference between tf.constant() and tf.Variable() in more detail?

How do I choose which tensor initializer to use for my application?

Can you show more examples of creating tensors with different shapes or values?

close

Awesome!

Completion rate improved to 5.56

bookTensorien Luominen

Pyyhkäise näyttääksesi valikon

Tensorien luominen

Tässä luvussa keskitytään tensorien luomiseen TensorFlow'n avulla. TensorFlow tarjoaa useita menetelmiä tensorien alustamiseen. Tämän luvun lopussa hallitset tensorien generoinnin monenlaisiin käyttötarkoituksiin.

Perustason tensorin alustajat

  • tf.constant(): tämä on yksinkertaisin tapa luoda tensori. Kuten nimi kertoo, tällä menetelmällä alustetut tensorit sisältävät vakioarvoja ja ovat muuttumattomia;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): toisin kuin tf.constant(), tf.Variable()-funktiolla määritelty tensori on muokattavissa. Tämä tarkoittaa, että sen arvoa voidaan muuttaa, mikä tekee siitä sopivan esimerkiksi mallien opetettaville parametreille;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): luo tensori, joka on täytetty nollilla;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): vastaavasti tämä luo tensorin, joka on täytetty ykkösillä;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): luo tensorin, joka on täytetty tietyllä arvolla;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() ja tf.range(): erinomaisia sekvenssien luomiseen;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random: luo tensoreita satunnaisarvoilla. Tässä moduulissa on useita jakaumia ja funktioita, kuten tf.random.normal() normaalijakauman arvoille ja tf.random.uniform() tasajakauman arvoille.
Note
Huomio

Voit myös asettaa kiinteän siemenen saadaksesi johdonmukaiset tulokset jokaisella satunnaislukugeneroinnilla käyttämällä tf.random.set_seed(). Huomaa kuitenkin, että näin saat saman luvun kaikissa TensorFlow'n satunnaisgeneroinneissa.

Jos haluat johdonmukaiset luvut vain tietylle komennolle, voit antaa kyseiselle komennolle seed-argumentin haluamallasi siemenarvolla.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Tietorakenteiden välinen muuntaminen

TensorFlow-tensorit voidaan saumattomasti muuntaa tutuiksi Pythonin tietorakenteiksi ja takaisin.

  • Numpy-taulukoista: TensorFlow-tensorit ja Numpy-taulukot ovat hyvin yhteensopivia. Käytä tf.convert_to_tensor();
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • Pandas DataFrameista: Pandas-kirjaston käyttäjille DataFrame- tai Series-objektin muuntaminen TensorFlow-tensoriksi on suoraviivaista. Käytä myös tf.convert_to_tensor() -funktiota;
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Huomio

Varmista aina, että alkuperäisten rakenteiden (Numpy-taulukot tai Pandas DataFrame -objektit) tietotyypit ovat yhteensopivia TensorFlow-tensorin tietotyyppien kanssa. Jos tietotyypeissä on eroavaisuuksia, harkitse tyyppimuunnosta.

  • Vakio-tensorin muuntaminen Variable-muotoon: Variable voidaan alustaa useilla tensorin luontimenetelmillä, kuten tf.ones(), tf.linspace(), tf.random ja niin edelleen. Anna funktio tai olemassa oleva tensori suoraan tf.Variable()-funktiolle.
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

Taitojen kehittämiseksi tensorien luonnissa kannattaa harjoitella erilaisilla muodoilla ja arvoilla. Lisätietoja yksittäisistä komennoista löytyy virallisesta TensorFlow-dokumentaatiosta. Sieltä löytyy kaikki tarvittava tieto kirjaston komennoista ja moduuleista.

Tehtävä

Swipe to start coding

Hienoa! Nyt on aika testata tensorien luomisen ja muuntamisen taitojasi. Tässä on haasteesi:

  1. Tensorien alustaminen

    • Luo tensor nimeltä tensor_A, jonka muoto on (3,3) ja kaikki alkiot ovat 5;
    • Luo muokattavissa oleva tensor nimeltä tensor_B, jonka muoto on (2,3) ja alusta se millä tahansa arvoilla;
    • Luo tensor nimeltä tensor_C, jonka muoto on (3,3) ja joka on täytetty nollilla;
    • Luo tensor nimeltä tensor_D, jonka muoto on (4,4) ja joka on täytetty ykkösillä;
    • Luo tensor nimeltä tensor_E, jossa on 5 lineaarisesti jaettua arvoa väliltä 3 ja 15;
    • Luo tensor nimeltä tensor_F, jossa on satunnaisia arvoja ja muoto (2,2).
  2. Muunnokset

    • Muunna annettu NumPy-taulukko np_array TensorFlow-tensoriksi nimeltä tensor_from_array;
    • Muunna DataFrame df tensoriksi nimeltä tensor_from_dataframe.

Huom

Muista käyttää tilanteeseen parhaiten sopivia komentoja (esim. luo ykkösillä täytetty taulukko käyttäen tf.ones() eikä tf.fill()).

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 6
single

single

some-alt