Datatyper
Datatyper
I denna sektion kommer du att utforska konceptet datatyper i TensorFlow. Precis som programmeringsspråk kategoriserar siffror och text i typer såsom heltal, flyttal eller strängar, har tensorer i TensorFlow också specifika typer.
Tillgängliga datatyper i TensorFlow
TensorFlow stöder en mängd olika datatyper för att hantera olika typer av data och operationer. Några av de mest använda typerna är:
-
tf.float16,tf.float32,tf.float64: dessa är flyttal där siffrorna efter punkten är viktiga. Siffran i namnet (som16itf.float16) anger antalet bitar som används.tf.float32används ofta eftersom den ger en bra balans mellan precision och beräkningshastighet; -
tf.int8,tf.int16,tf.int32,tf.int64: dessa är heltalstyper, siffror utan decimalpunkt. De kan vara både positiva och negativa; -
tf.uint8,tf.uint16,tf.uint32,tf.uint64: 'u' står här för 'unsigned', vilket betyder att dessa heltal alltid är icke-negativa; -
tf.bool: representerar booleska värden (TrueellerFalse); -
tf.string: för textdata.
För heltalstyper innebär ett högre tal i namnet endast ett större värdeintervall som kan lagras. Men för flyttalstyper indikerar ett högre tal i namnet också högre beräkningsnoggrannhet.
Det finns fler datatyper tillgängliga i TensorFlow, men för nybörjare är det viktigt att först bekanta sig med dessa primära typer. För en fullständig lista över datatyper som stöds av TensorFlow, se gärna denna specifika sida i TensorFlow-dokumentationen.
Ange datatyp vid skapande av tensor
Vid initiering av en tensor kan du specificera dess typ med argumentet dtype:
123456789101112import 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)
Många tensor-skapandefunktioner använder detta tillvägagångssätt. Det gäller metoder som tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() och även tf.convert_to_tensor().
Konvertering mellan datatyper
Men vad händer om funktionen du använder inte tillåter direkt specifikation av datatyp? Eller kanske har du redan en tensor av en viss typ och behöver ändra den. I dessa fall behöver du omvandla tensorer från en datatyp till en annan. Detta är särskilt relevant eftersom vissa neurala nätverksoperationer eller lager ofta kräver indata av en viss typ, främst flyttal.
Du kan använda tf.cast() för att uppnå detta:
123456789101112import 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)
Kom ihåg att när du konverterar från en flyttalstyp till en heltalstyp kommer TensorFlow att utföra en golvoperation, vilket innebär att decimaldelen tas bort. Så 3.8 blir 3, och -1.2 blir -1.
Var försiktig vid ändring av datatyper, särskilt när du byter till en typ med lägre precision. Information kan gå förlorad i processen.
Swipe to start coding
Din uppgift är att skapa en tensor av en specifik datatyp och sedan konvertera den till en annan datatyp.
- Skapa en tensor med namnet
initial_tensormed formen(3, 3)och normalfördelade värden. Säkerställ att denna tensor har datatypen 64-bitars flyttal. - Omvandla
initial_tensortill en tensor kalladconverted_tensormed datatypen 16-bitars flyttal.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
What are some practical examples of when I would need to change a tensor's data type?
Can you explain the difference between signed and unsigned integer types in TensorFlow?
How do I check the data type of an existing tensor?
Awesome!
Completion rate improved to 6.25
Datatyper
Svep för att visa menyn
Datatyper
I denna sektion kommer du att utforska konceptet datatyper i TensorFlow. Precis som programmeringsspråk kategoriserar siffror och text i typer såsom heltal, flyttal eller strängar, har tensorer i TensorFlow också specifika typer.
Tillgängliga datatyper i TensorFlow
TensorFlow stöder en mängd olika datatyper för att hantera olika typer av data och operationer. Några av de mest använda typerna är:
-
tf.float16,tf.float32,tf.float64: dessa är flyttal där siffrorna efter punkten är viktiga. Siffran i namnet (som16itf.float16) anger antalet bitar som används.tf.float32används ofta eftersom den ger en bra balans mellan precision och beräkningshastighet; -
tf.int8,tf.int16,tf.int32,tf.int64: dessa är heltalstyper, siffror utan decimalpunkt. De kan vara både positiva och negativa; -
tf.uint8,tf.uint16,tf.uint32,tf.uint64: 'u' står här för 'unsigned', vilket betyder att dessa heltal alltid är icke-negativa; -
tf.bool: representerar booleska värden (TrueellerFalse); -
tf.string: för textdata.
För heltalstyper innebär ett högre tal i namnet endast ett större värdeintervall som kan lagras. Men för flyttalstyper indikerar ett högre tal i namnet också högre beräkningsnoggrannhet.
Det finns fler datatyper tillgängliga i TensorFlow, men för nybörjare är det viktigt att först bekanta sig med dessa primära typer. För en fullständig lista över datatyper som stöds av TensorFlow, se gärna denna specifika sida i TensorFlow-dokumentationen.
Ange datatyp vid skapande av tensor
Vid initiering av en tensor kan du specificera dess typ med argumentet dtype:
123456789101112import 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)
Många tensor-skapandefunktioner använder detta tillvägagångssätt. Det gäller metoder som tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() och även tf.convert_to_tensor().
Konvertering mellan datatyper
Men vad händer om funktionen du använder inte tillåter direkt specifikation av datatyp? Eller kanske har du redan en tensor av en viss typ och behöver ändra den. I dessa fall behöver du omvandla tensorer från en datatyp till en annan. Detta är särskilt relevant eftersom vissa neurala nätverksoperationer eller lager ofta kräver indata av en viss typ, främst flyttal.
Du kan använda tf.cast() för att uppnå detta:
123456789101112import 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)
Kom ihåg att när du konverterar från en flyttalstyp till en heltalstyp kommer TensorFlow att utföra en golvoperation, vilket innebär att decimaldelen tas bort. Så 3.8 blir 3, och -1.2 blir -1.
Var försiktig vid ändring av datatyper, särskilt när du byter till en typ med lägre precision. Information kan gå förlorad i processen.
Swipe to start coding
Din uppgift är att skapa en tensor av en specifik datatyp och sedan konvertera den till en annan datatyp.
- Skapa en tensor med namnet
initial_tensormed formen(3, 3)och normalfördelade värden. Säkerställ att denna tensor har datatypen 64-bitars flyttal. - Omvandla
initial_tensortill en tensor kalladconverted_tensormed datatypen 16-bitars flyttal.
Lösning
Tack för dina kommentarer!
single