#python #numpy #tensorflow
#python #numpy #тензорный поток
Вопрос:
У меня есть данные, которые выглядят так, когда я их печатаю:
data = [<tf.Tensor: shape=(), dtype=float32, numpy=-0.0034351824>, <tf.Tensor: shape=(), dtype=float32, numpy=0.0003163157>, <tf.Tensor: shape=(), dtype=float32, numpy=0.00060091465>, <tf.Tensor: shape=(), dtype=float32, numpy=0.0012879161>, <tf.Tensor: shape=(), dtype=float32, numpy=0.0002799925>]
Итак, это список, элементы которого имеют тип <class 'tensorflow.python.framework.ops.EagerTensor'>
.
Я хотел бы преобразовать его в стандартный массив numpy. Итак, в этом случае это будет выглядеть так:
array([-0.0034351824, 0.0003163157, 0.00060091465, 0.0012879161, 0.0002799925])
Как вы можете это сделать?
Ответ №1:
Вы можете использовать
import numpy as np
x = np.array(data)
Ответ №2:
Вы можете использовать np.ravel
, так как вам нужен одномерный список:
np.ravel(data)
array([0.22184575, 0.3621379 , 0.5509906 , 0.20388651, 0.94017696], dtype=float32)
Полный пример:
import tensorflow as tf
import numpy as np
data = [tf.random.uniform((1,)) for i in range(5)]
np.ravel(data)
Комментарии:
1. Большое вам спасибо.