Створення Тензорів
Створення тензорів
У цьому уроці розглядається створення тензорів за допомогою TensorFlow. TensorFlow надає численні методи для ініціалізації тензорів. Після завершення цього уроку ви впевнено зможете генерувати тензори для широкого спектра застосувань.
Базові ініціалізатори тензорів
tf.constant(): найпростіший спосіб створити тензор. Як випливає з назви, тензори, ініціалізовані цим методом, містять сталi значення та є незмінними;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable(): на відміну відtf.constant(), тензор, визначений за допомогоюtf.Variable(), є змінним. Це означає, що його значення можна змінювати, що ідеально підходить для таких випадків, як навчальні параметри в моделях;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros(): створення тензора, заповненого нулями;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones(): навпаки, створює тензор, заповнений одиницями;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill(): створює тензор, заповнений певним значенням;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()таtf.range(): чудово підходять для створення послідовностей;
123456789import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
tf.random: генерує тензори з випадковими значеннями. У цьому модулі доступно кілька розподілів і функцій, наприклад,tf.random.normal()для значень із нормального розподілу таtf.random.uniform()для значень із рівномірного розподілу.
Ви також можете встановити фіксоване зерно (seed), щоб отримувати сталі результати при кожному генеруванні випадкових чисел за допомогою tf.random.set_seed(). Однак майте на увазі, що при цьому ви отримуватимете одне й те саме число для будь-якого випадкового генерування в TensorFlow.
Якщо потрібно отримати сталі числа лише для певної команди, можна передати аргумент seed цій команді із бажаним значенням зерна.
1234567891011121314import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
Перетворення між структурами даних
Тензори TensorFlow можна легко конвертувати до та з відомих структур даних Python.
- З масивів Numpy: Тензори TensorFlow та масиви Numpy мають високу взаємодію. Використовуйте
tf.convert_to_tensor();
12345678910import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
- З DataFrame Pandas: для тих, хто віддає перевагу аналізу даних з Pandas, перетворення DataFrame або Series у тензор TensorFlow є простим. Також використовуйте
tf.convert_to_tensor();
12345678910import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
Завжди переконуйтеся, що типи даних ваших початкових структур (масиви Numpy або DataFrame Pandas) сумісні з типами даних тензорів TensorFlow. Якщо є невідповідність, розгляньте можливість приведення типів.
- Перетворення константного тензора на
Variable: можна ініціалізуватиVariable, використовуючи різні методи створення тензорів, такі якtf.ones(),tf.linspace(),tf.randomтощо. Просто передайте функцію або вже існуючий тензор уtf.Variable().
12345678910111213import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
Щоб краще освоїти створення тензорів, практикуйтеся з різними формами та значеннями. Для детальнішої інформації щодо конкретних команд звертайтеся до офіційної документації TensorFlow. Тут міститься вся необхідна інформація про будь-яку команду чи модуль бібліотеки.
Swipe to start coding
Ваше завдання — створити, змінити та конвертувати різні тензори за допомогою TensorFlow.
Частина 1 — Ініціалізація тензорів
- Створіть тензор з іменем
tensor_Aрозміром(3, 3), усі елементи якого дорівнюють 5. - Створіть змінний тензор з іменем
tensor_Bрозміром(2, 3)з довільними значеннями на ваш вибір. - Створіть тензор з іменем
tensor_Cрозміром(3, 3), заповнений нулями. - Створіть тензор з іменем
tensor_Dрозміром(4, 4), заповнений одиницями. - Створіть тензор з іменем
tensor_E, що містить 5 рівномірно розташованих значень у діапазоні від 3 до 15. - Створіть тензор з іменем
tensor_Fз випадковими значеннями та розміром(2, 2).
Частина 2 — Конвертації
- Перетворіть масив NumPy
np_arrayу тензор TensorFlow з іменемtensor_from_array. - Перетворіть DataFrame
dfу тензор TensorFlow з іменемtensor_from_dataframe.
Примітка
- Використовуйте найбільш відповідні функції TensorFlow для кожної операції:
tf.fill()для тензорів з одним повторюваним значенням;tf.Variable()для змінних тензорів;tf.zeros()/tf.ones()для тензорів, заповнених нулями або одиницями;tf.linspace()для тензорів з рівномірно розташованими значеннями;tf.random.normal()для тензорів з випадковими значеннями;- Для конвертації з масивів NumPy або pandas DataFrame використовуйте
tf.convert_to_tensor(); - Уникайте використання
tf.constant()— натомість використовуйте більш специфічні функції, перелічені вище.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain the difference between tf.constant() and tf.Variable() in more detail?
How do I choose which tensor initializer to use for my application?
Can you show more examples of creating tensors with different shapes or values?
Awesome!
Completion rate improved to 5.56
Створення Тензорів
Свайпніть щоб показати меню
Створення тензорів
У цьому уроці розглядається створення тензорів за допомогою TensorFlow. TensorFlow надає численні методи для ініціалізації тензорів. Після завершення цього уроку ви впевнено зможете генерувати тензори для широкого спектра застосувань.
Базові ініціалізатори тензорів
tf.constant(): найпростіший спосіб створити тензор. Як випливає з назви, тензори, ініціалізовані цим методом, містять сталi значення та є незмінними;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable(): на відміну відtf.constant(), тензор, визначений за допомогоюtf.Variable(), є змінним. Це означає, що його значення можна змінювати, що ідеально підходить для таких випадків, як навчальні параметри в моделях;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros(): створення тензора, заповненого нулями;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones(): навпаки, створює тензор, заповнений одиницями;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill(): створює тензор, заповнений певним значенням;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()таtf.range(): чудово підходять для створення послідовностей;
123456789import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
tf.random: генерує тензори з випадковими значеннями. У цьому модулі доступно кілька розподілів і функцій, наприклад,tf.random.normal()для значень із нормального розподілу таtf.random.uniform()для значень із рівномірного розподілу.
Ви також можете встановити фіксоване зерно (seed), щоб отримувати сталі результати при кожному генеруванні випадкових чисел за допомогою tf.random.set_seed(). Однак майте на увазі, що при цьому ви отримуватимете одне й те саме число для будь-якого випадкового генерування в TensorFlow.
Якщо потрібно отримати сталі числа лише для певної команди, можна передати аргумент seed цій команді із бажаним значенням зерна.
1234567891011121314import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
Перетворення між структурами даних
Тензори TensorFlow можна легко конвертувати до та з відомих структур даних Python.
- З масивів Numpy: Тензори TensorFlow та масиви Numpy мають високу взаємодію. Використовуйте
tf.convert_to_tensor();
12345678910import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
- З DataFrame Pandas: для тих, хто віддає перевагу аналізу даних з Pandas, перетворення DataFrame або Series у тензор TensorFlow є простим. Також використовуйте
tf.convert_to_tensor();
12345678910import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
Завжди переконуйтеся, що типи даних ваших початкових структур (масиви Numpy або DataFrame Pandas) сумісні з типами даних тензорів TensorFlow. Якщо є невідповідність, розгляньте можливість приведення типів.
- Перетворення константного тензора на
Variable: можна ініціалізуватиVariable, використовуючи різні методи створення тензорів, такі якtf.ones(),tf.linspace(),tf.randomтощо. Просто передайте функцію або вже існуючий тензор уtf.Variable().
12345678910111213import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
Щоб краще освоїти створення тензорів, практикуйтеся з різними формами та значеннями. Для детальнішої інформації щодо конкретних команд звертайтеся до офіційної документації TensorFlow. Тут міститься вся необхідна інформація про будь-яку команду чи модуль бібліотеки.
Swipe to start coding
Ваше завдання — створити, змінити та конвертувати різні тензори за допомогою TensorFlow.
Частина 1 — Ініціалізація тензорів
- Створіть тензор з іменем
tensor_Aрозміром(3, 3), усі елементи якого дорівнюють 5. - Створіть змінний тензор з іменем
tensor_Bрозміром(2, 3)з довільними значеннями на ваш вибір. - Створіть тензор з іменем
tensor_Cрозміром(3, 3), заповнений нулями. - Створіть тензор з іменем
tensor_Dрозміром(4, 4), заповнений одиницями. - Створіть тензор з іменем
tensor_E, що містить 5 рівномірно розташованих значень у діапазоні від 3 до 15. - Створіть тензор з іменем
tensor_Fз випадковими значеннями та розміром(2, 2).
Частина 2 — Конвертації
- Перетворіть масив NumPy
np_arrayу тензор TensorFlow з іменемtensor_from_array. - Перетворіть DataFrame
dfу тензор TensorFlow з іменемtensor_from_dataframe.
Примітка
- Використовуйте найбільш відповідні функції TensorFlow для кожної операції:
tf.fill()для тензорів з одним повторюваним значенням;tf.Variable()для змінних тензорів;tf.zeros()/tf.ones()для тензорів, заповнених нулями або одиницями;tf.linspace()для тензорів з рівномірно розташованими значеннями;tf.random.normal()для тензорів з випадковими значеннями;- Для конвертації з масивів NumPy або pandas DataFrame використовуйте
tf.convert_to_tensor(); - Уникайте використання
tf.constant()— натомість використовуйте більш специфічні функції, перелічені вище.
Рішення
Дякуємо за ваш відгук!
single