Рубрики
Без рубрики

Как преобразовать тензор на номерного массива в Tensorflow?

Существует два способа преобразования тензора в размерный массив. большая деталь. Метод 1: Явный тензор, чтобы преобразование Numpy Array в Tensorflow 2.x Для преобразования тензора T в номер Numpy в версии Tensorflow … Как преобразовать тензор на Numpy Armay в Tensorflow? Читать далее “

Автор оригинала: Chris.

Существует два способа преобразовать тензор к Numpy Array:

  • Tensorflow версия 2.x – Используйте Tensor.numpy ()
  • Tensorflow версия 1.x – Используйте Tensor.eval (сессия = tf.compat.v1.session ())

Давайте погрузимся в эти два метода более подробно.

Метод 1: Явный тензор для преобразования Numpy Array в Tensorflow 2.x

Для преобразования тензора T на номерного массива в Tensorflow версия 2.0 И выше, используйте T.Numpy () Встроенный метод. Результирующий объект является множественным массивом типа numpy.ndarray Отказ

Вот пример кода, который преобразует тензор T на массив А Отказ

import tensorflow as tf

t = tf.constant([[1, 2], [4, 8]])
a = t.numpy()

print(a)
print(type(a))

Выход этого фрагмента кода показывает, что результат представляет собой Numpy Array:

[[1 2]
 [4 8]]

Вы можете попробовать себя в интерактивной ноутбуке Jupyter с Colab:

Метод 2: Автоматическое преобразование, используя numpy операции на тензорах

Если вы применяете Numpy Office на тензорах, результат будет автоматически преобразован в Numpy NDARRAY Отказ

В следующем коде мы впервые создаем тензор и храните его в переменной T Создавая постоянную тензор и использование процедуры умножения Tensorflow, чтобы показать, что результат операции Tensorflow – это тип данных тензора.

Тогда мы выполняем np.add () Обнаженная операция на тензоре, полученном через предыдущую работу. Естественно, результат является Numpy NDARRAY Таким образом, преобразование было выполнено автоматически Numpy.

import numpy as np
import tensorflow as tf

# Create Tensor
t = tf.constant([[1, 2], [4, 8]])
t = tf.multiply(t, 2)
print(t)

# NumPy operation results in ndarray
a = np.add(t, 1)
print(a)

Обратите внимание, что если тензор может быть проведен в памяти GPU. В этом случае преобразование может быть невозможно, потому что Numpy полагается на оперативной памяти Host Machine, которая может быть более ограничена, чем память GPU.

Способ 3: Явное преобразование тензоров для обмотки массивов в Tensorflow 1.x

Для преобразования тензора T на номерного массива в версиях Tensorflow 1.x (например, 1.14 и 1.15), используйте t.eval () Встроенный метод и пропустите S Гисс Аргумент так: t.eval (сессия = tf.compat.v1.session ()) Отказ Результирующий объект является множественным массивом типа numpy.ndarray Отказ

Объекты сеанса В TensorFlow удерживайте состояние выполнения и инкапсулируйте среды выполнения объектов операции.

Вот пример кода, который преобразует тензор T на массив А Отказ

%tensorflow_version 1.x
import tensorflow as tf 

t = tf.constant([[1, 2], [4, 8]])
a = t.eval(session=tf.compat.v1.Session())

print(a)
print(type(a))

Выходный вывод такой же NUMPY ARRAY

[[1 2]
 [4 8]]

Хотя этот метод работает, он обычно не нужен, потому что вы все еще не используете TF V1, делаете ли вы? 😉.

Куда пойти отсюда

Спасибо, что читали учебное пособие в блога в любом случае – продолжать улучшать свои навыки Python, почему бы не загрузить пару моего ручного питона, машинного обучения и Numpy Cheat Pheets? Мои подписчики любят их!

Просто зарегистрируйтесь в академии по электронной почте Finxter Email, и вы сможете Мгновенно скачайте чит-листы здесь:

Присоединяйтесь к нам, это весело!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.