Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Типи Даних | Секція
Глибоке навчання з TensorFlow
Секція 1. Розділ 7
single

single

bookТипи Даних

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

Доступні типи даних у 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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt