Тензорный поток: как изменить значение в тензоре

Поскольку мне нужно написать некоторые препроцессы для данных, прежде чем использовать Tensorflow для обучения моделей, необходимы некоторые модификации tensor . Однако я не знаю, как изменить значения в tensor как способ использования numpy .

Лучший способ сделать это – это то, что он может напрямую модифицировать tensor . Тем не менее, это кажется невозможным в текущей версии Tensorflow. Альтернативный способ – изменить tensor на ndarray для процесса, а затем использовать tf.convert_to_tensor для изменения.

Ключ состоит в том, как изменить tensor на ndarray .
1) tf.contrib.util.make_ndarray(tensor) : https://www.tensorflow.org/versions/r0.8/api_docs/python/contrib.util.html#make_ndarray
Это кажется самым простым способом в соответствии с документом, но я не могу найти эту функцию в текущей версии Tensorflow. Во-вторых, входной сигнал TensorProto вместо tensor .
2) Используйте a.eval() чтобы скопировать a в другой ndarray
Тем не менее, он работает только при использовании tf.InteractiveSession() в записной книжке.

Ниже приведен простой пример с кодами. Цель этого кода заключается в том, что tfc имеет тот же результат, что и npc после процесса.

ПОДСКАЗКА
Вы должны рассматривать, что tfc и npc независимы друг от друга. Это соответствует ситуации, когда сначала полученные данные обучения находятся в tensor формате с помощью tf.placeholder() .


Исходный код

 import numpy as np import tensorflow as tf tf.InteractiveSession() tfc = tf.constant([[1.,2.],[3.,4.]]) npc = np.array([[1.,2.],[3.,4.]]) row = np.array([[.1,.2]]) print('tfc:\n', tfc.eval()) print('npc:\n', npc) for i in range(2): for j in range(2): npc[i,j] += row[0,j] print('modified tfc:\n', tfc.eval()) print('modified npc:\n', npc) 

Вывод:

КТФ:
[[1. 2.]
[3. 4.]]
НПЦ:
[[1. 2.]
[3. 4.]]
измененный tfc:
[[1. 2.]
[3. 4.]]
измененный npc:
[[1.1 2.2]
[3.1 4.2]]

One Solution collect form web for “Тензорный поток: как изменить значение в тензоре”

Используйте assign и eval (или sess.run) назначение:

 import numpy as np import tensorflow as tf npc = np.array([[1.,2.],[3.,4.]]) tfc = tf.Variable(npc) # Use variable row = np.array([[.1,.2]]) with tf.Session() as sess: tf.initialize_all_variables().run() # need to initialize all variables print('tfc:\n', tfc.eval()) print('npc:\n', npc) for i in range(2): for j in range(2): npc[i,j] += row[0,j] tfc.assign(npc).eval() # assign_sub/assign_add is also available. print('modified tfc:\n', tfc.eval()) print('modified npc:\n', npc) 

Он выводит:

 tfc: [[ 1. 2.] [ 3. 4.]] npc: [[ 1. 2.] [ 3. 4.]] modified tfc: [[ 1.1 2.2] [ 3.1 4.2]] modified npc: [[ 1.1 2.2] [ 3.1 4.2]] 
  • Заполнение пробелов в массиве numpy
  • Выбор подмашины Python / Numpy
  • функция соединения массива numpy, состоящего из строки
  • Может ли Python выполнять векторизованные операции?
  • python: обойти деление на ноль
  • Прочтите файл .mat в Python. Но форма данных изменилась
  • Нет отображаемого имени и переменной $ DISPLAY среды с помощью tkinter через ssh
  • 2D Numpy Array Fancy Indexing + Masking
  •  
    Interesting Posts for Van-Lav

    Python ctypes from_buffer сопоставление с менеджером контекста в файл с отображением памяти (mmap)

    Python XLWT пытается переписать обходной путь

    Как динамически выбрать каталог шаблонов, который будет использоваться в колбе?

    Запустить колбу в виде резьбы на IIS 7

    как я могу открыть другой терминал linux для вывода различных типов отладочной информации в python?

    Как работать с нулями в docutils

    Вызовите код python c c через cython

    Tkinter: как сделать окно появляться при нажатии кнопки

    Как установить OpenAI Universe без получения кода ошибки 1 в Windows?

    openCV и python: морфологическое преобразование вне границ

    Поделиться изображением от mpldatacursor с другими

    Общий режим обработки исключений в Python «Правильный путь»

    Включить другое поле в качестве выбора внешнего ключа, Django

    сериализовать datetime как целочисленную временную метку

    соскабливание другой таблицы с теми же классами с помощью beautifulsoup, python

    Python - лучший язык программирования в мире.