Tensorflow: как изменить значение в тензоре

Поскольку мне нужно написать некоторые предварительные процессы для данных перед использованием 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]]

Ответы на вопрос(1)

Ваш ответ на вопрос