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

Поскольку мне нужно написать некоторые препроцессы для данных, прежде чем использовать 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 NxM с dtype = float как изображение в виде простого серого?
  • заполнение пробелов на изображении с помощью numpy и scipy
  • Буферные объявления Cython для участников объекта
  • Проблема с памятью массива памяти
  • Как определить неопределенность параметров подгонки с помощью Python?
  • Создание массива numpy объектов пользовательского класса с C API
  • Преобразование последовательности Python в массив NumPy, заполнение отсутствующих значений
  • RuntimeWarning: деление на ноль, встречающееся в журнале
  • как извлечь частоту, связанную с значениями fft в python
  • Найти ближайший float в массиве для всех поплавков в другом массиве
  • Хорошие способы «расширить» numpy ndarray?
  •  
    Interesting Posts for Van-Lav

    Ресурсы для TDD, направленные на веб-разработку Python

    Cron-планировщик скрипта python с помощью уведомления-отправки

    Какую версию Python следует использовать, если я новичок в Python?

    Python быстро вычисляет множество расстояний

    Чтение заголовка CR2 (Raw Canon Image) с использованием Python

    OpenCV Python: иногда возникает ошибка сегментации при использовании FlannBasedMatcher

    Tkinter: Подождите, пока элемент в очереди

    genfromtxt: чтение ints из файла, разделенного пробелом .txt

    импортирует пользовательский модуль python

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

    Почему в виртуальной машине Java нет GIL? Почему Python нужно так плохо?

    Почему печать в Python не приостанавливается при использовании сна в цикле?

    Python: subprocess.Popen и subprocess.call зависают

    Никакой поставляемой схемы и других ошибок при использовании request.get ()

    Ошибка PyQt5 во время «python3 configure.py»: фатальная ошибка: файл «qgeolocation.h» не найден

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