Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Типи Даних | Тензори
Вступ до TensorFlow

bookТипи Даних

Типи даних

У цьому розділі ви ознайомитеся з поняттям типів даних у TensorFlow. Подібно до того, як мови програмування класифікують числа та текст на такі типи, як цілі числа, числа з плаваючою комою або рядки, тензори в TensorFlow також мають певні типи.

Доступні типи даних у TensorFlow

TensorFlow підтримує велику кількість типів даних для роботи з різними видами даних та операцій. Деякі з найпоширеніших типів:

  • tf.float16, tf.float32, tf.float64: це числа з плаваючою комою, де важливі цифри після крапки. Число в назві (наприклад, 16 у tf.float16) вказує на кількість бітів, що використовується. tf.float32 часто застосовується, оскільки забезпечує оптимальний баланс між точністю та швидкістю обчислень;

  • tf.int8, tf.int16, tf.int32, tf.int64: це цілі типи даних, числа без десяткової крапки. Можуть бути як додатними, так і від’ємними;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: 'u' означає 'unsigned' (без знаку), тобто ці цілі числа завжди невід’ємні;

  • tf.bool: представляє булеві значення (True або False);

  • tf.string: для текстових даних.

Note
Примітка

Для цілих типів більший номер у назві означає лише ширший діапазон значень, які можна зберігати. Для типів з плаваючою комою більший номер також вказує на вищу обчислювальну точність.

У TensorFlow доступно більше типів даних, але для початківців важливо спочатку ознайомитися з основними типами. Для повного списку типів даних, які підтримує TensorFlow, рекомендується переглянути цю сторінку у документації TensorFlow.

Встановлення типу даних при створенні тензора

Під час ініціалізації тензора можна вказати його тип за допомогою аргументу 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
Примітка

Багато функцій створення тензорів використовують цей підхід. Це застосовується у таких методах, як tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform(), а також у tf.convert_to_tensor().

Перетворення між типами даних

Але що робити, якщо функція, яку ви використовуєте, не дозволяє безпосередньо вказати тип даних? Або, можливо, у вас вже є тензор певного типу і потрібно змінити його. У таких випадках необхідно перетворити тензори з одного типу даних в інший. Це особливо актуально, оскільки деякі операції або шари нейронних мереж часто вимагають вхідних даних певного типу, переважно чисел з плаваючою комою.

Для цього можна використати tf.cast():

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

Пам’ятайте, що під час перетворення з типу з плаваючою комою на цілочисельний тип TensorFlow виконує операцію підлоги, фактично відкидаючи десяткову частину. Тобто, 3.8 стає 3, а -1.2 стає -1.

Note
Примітка

Будьте обережні під час зміни типів даних, особливо якщо переходите до типу з меншою точністю. У процесі можна втратити інформацію.

Завдання

Swipe to start coding

Ваше завдання — створити тензор з певним типом даних, а потім перетворити його на інший тип даних.

  1. Створіть тензор з назвою initial_tensor форми (3, 3) з нормально розподіленими значеннями. Переконайтеся, що цей тензор має тип даних 64-розрядних чисел з плаваючою комою.
  2. Перетворіть initial_tensor на тензор з назвою converted_tensor з типом даних 16-розрядних чисел з плаваючою комою.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 7
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 5.56

bookТипи Даних

Свайпніть щоб показати меню

Типи даних

У цьому розділі ви ознайомитеся з поняттям типів даних у TensorFlow. Подібно до того, як мови програмування класифікують числа та текст на такі типи, як цілі числа, числа з плаваючою комою або рядки, тензори в TensorFlow також мають певні типи.

Доступні типи даних у TensorFlow

TensorFlow підтримує велику кількість типів даних для роботи з різними видами даних та операцій. Деякі з найпоширеніших типів:

  • tf.float16, tf.float32, tf.float64: це числа з плаваючою комою, де важливі цифри після крапки. Число в назві (наприклад, 16 у tf.float16) вказує на кількість бітів, що використовується. tf.float32 часто застосовується, оскільки забезпечує оптимальний баланс між точністю та швидкістю обчислень;

  • tf.int8, tf.int16, tf.int32, tf.int64: це цілі типи даних, числа без десяткової крапки. Можуть бути як додатними, так і від’ємними;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: 'u' означає 'unsigned' (без знаку), тобто ці цілі числа завжди невід’ємні;

  • tf.bool: представляє булеві значення (True або False);

  • tf.string: для текстових даних.

Note
Примітка

Для цілих типів більший номер у назві означає лише ширший діапазон значень, які можна зберігати. Для типів з плаваючою комою більший номер також вказує на вищу обчислювальну точність.

У TensorFlow доступно більше типів даних, але для початківців важливо спочатку ознайомитися з основними типами. Для повного списку типів даних, які підтримує TensorFlow, рекомендується переглянути цю сторінку у документації TensorFlow.

Встановлення типу даних при створенні тензора

Під час ініціалізації тензора можна вказати його тип за допомогою аргументу 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
Примітка

Багато функцій створення тензорів використовують цей підхід. Це застосовується у таких методах, як tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform(), а також у tf.convert_to_tensor().

Перетворення між типами даних

Але що робити, якщо функція, яку ви використовуєте, не дозволяє безпосередньо вказати тип даних? Або, можливо, у вас вже є тензор певного типу і потрібно змінити його. У таких випадках необхідно перетворити тензори з одного типу даних в інший. Це особливо актуально, оскільки деякі операції або шари нейронних мереж часто вимагають вхідних даних певного типу, переважно чисел з плаваючою комою.

Для цього можна використати tf.cast():

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

Пам’ятайте, що під час перетворення з типу з плаваючою комою на цілочисельний тип TensorFlow виконує операцію підлоги, фактично відкидаючи десяткову частину. Тобто, 3.8 стає 3, а -1.2 стає -1.

Note
Примітка

Будьте обережні під час зміни типів даних, особливо якщо переходите до типу з меншою точністю. У процесі можна втратити інформацію.

Завдання

Swipe to start coding

Ваше завдання — створити тензор з певним типом даних, а потім перетворити його на інший тип даних.

  1. Створіть тензор з назвою initial_tensor форми (3, 3) з нормально розподіленими значеннями. Переконайтеся, що цей тензор має тип даних 64-розрядних чисел з плаваючою комою.
  2. Перетворіть initial_tensor на тензор з назвою converted_tensor з типом даних 16-розрядних чисел з плаваючою комою.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 7
single

single

some-alt