Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Datatyper | Seksjon
Practice
Projects
Quizzes & Challenges
Quizer
Challenges
/
Dyp Læring med TensorFlow
Seksjon 1. Kapittel 7
single

single

bookDatatyper

Sveip for å vise menyen

Tilgjengelige datatyper i TensorFlow

TensorFlow støtter et bredt utvalg av datatyper for å håndtere ulike typer data og operasjoner. Noen av de mest brukte typene er:

  • tf.float16, tf.float32, tf.float64: dette er flyttall der sifrene etter desimalpunktet er viktige. Tallet i navnet (som 16 i tf.float16) angir antall biter som brukes. tf.float32 er ofte brukt fordi det gir en god balanse mellom presisjon og beregningshastighet;

  • tf.int8, tf.int16, tf.int32, tf.int64: dette er heltallstyper, tall uten desimalpunkt. De kan være både positive og negative;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: 'u' står her for 'unsigned', noe som betyr at disse heltallene alltid er ikke-negative;

  • tf.bool: representerer boolske verdier (True eller False);

  • tf.string: for tekstdata.

Note
Merk

For heltallstyper betyr et høyere tall i navnet kun et større verdiområde som kan lagres. For flyttallstyper indikerer et høyere tall i navnet også større beregningsnøyaktighet.

Det finnes flere datatyper tilgjengelig i TensorFlow, men for nybegynnere er det viktigst å bli kjent med disse grunnleggende typene først. For en fullstendig liste over datatyper som støttes av TensorFlow, se gjerne denne spesifikke siden i TensorFlow-dokumentasjonen.

Angi datatype ved opprettelse av tensor

Når du initialiserer en tensor, kan du spesifisere typen ved å bruke argumentet dtype:

123456789101112
import tensorflow as tf # Creating a tensor of type `float16` tensor_float = tf.constant([1.2, 2.3, 3.4], dtype=tf.float16) # Creating a tensor of type `int64` tensor_int = tf.constant([1, 2, 3], dtype=tf.int64) # Display tensors print(tensor_float) print('-' * 50) print(tensor_int)
copy
Note
Merk

Mange funksjoner for å opprette tensorer benytter denne tilnærmingen. Dette gjelder metoder som tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform(), og også tf.convert_to_tensor().

Konvertering mellom datatyper

Hva om funksjonen du bruker ikke tillater direkte spesifisering av datatype? Eller kanskje du allerede har en tensor av en bestemt type og må endre den. I slike tilfeller må du transformere tensorer fra én datatype til en annen. Dette er spesielt relevant siden enkelte operasjoner eller lag i nevrale nettverk ofte krever input av en bestemt type, hovedsakelig flyttall.

Du kan bruke tf.cast() for å oppnå dette:

123456789101112
import tensorflow as tf # Create a tensor tensor_float = tf.constant([-1.2, 2.3, 3.8]) # Convert our `tensor_float` from `float32` to `int32` tensor_int_converted = tf.cast(tensor_float, dtype=tf.int32) # Display a tensor print(tensor_float) print('-' * 50) print(tensor_int_converted)
copy

Merk at når du konverterer fra flyttallstype til heltallstype, vil TensorFlow utføre en gulv-operasjon, det vil si at desimaldelen fjernes. Dermed blir 3.8 til 3, og -1.2 til -1.

Note
Merk

Vær forsiktig når du endrer datatyper, spesielt når du går over til en type med lavere presisjon. Du kan miste informasjon i prosessen.

Oppgave

Swipe to start coding

Din oppgave er å opprette en tensor med en spesifikk datatyp og deretter konvertere den til en annen datatyp.

  1. Opprett en tensor kalt initial_tensor med form (3, 3) med normalfordelte verdier. Sørg for at denne tensoren har en datatyp med 64-bits flyttall.
  2. Konverter initial_tensor til en tensor kalt converted_tensor med en datatyp med 16-bits flyttall.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt