Тензор потока Тензор для оценки способной струны - PullRequest
0 голосов
/ 07 апреля 2020

Есть ли функция в TensorFlow или другой способ, которым я могу создать строку из тензора и затем создать идентичный тензор из этой строки с помощью функции eval? Чтобы использовать eval, мне нужно, чтобы строка была в форме, подобной этой: 'tf.Variable(np.array[1,2,3], shape=(3,), dtype=tf.int64)' Я пытался создать класс, который форматирует строковое представление тензора, но иногда это терпит неудачу, а сейчас нет Почему. Это мой класс:

class TensorDecoder:
    def __init__(self, tensor):
        self.tensor = tensor

    def decodeDtype(self, strDtype):
        strDtype = strDtype.split("'")[1]
        strDtype = 'tf.' + strDtype

        return strDtype

    def __repr__(self):
        tValue = str(self.tensor.numpy().tolist())
        dtype = self.decodeDtype(str(self.tensor.dtype))
        shape = str(self.tensor.shape)

        return f'tf.Variable({tValue}, dtype={dtype}, shape={shape})'

Я думаю, что функция TensorFlow была бы лучшим вариантом, но, возможно, вы видите ошибку, из-за которой строка заканчивается следующим образом: <tf.Variable 'Variable:0' shape=(6,) dtype=float64, numpy=\narray([262.82998657, 262.82998657, 262.82998657,\n262.82998657,\n262.82998657, 0. ])>

...