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

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

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