Вы не можете присваивать значения в TensorFlow, так как тензоры неизменны (переменные TensorFlow могут менять свое значение, но это больше похоже на замену их внутреннего тензора на новый). Ближайшая вещь к назначению элемента в TensorFlow может быть tf.tensor_scatter_nd_update
, которая все еще не присваивает новое значение, но создает новый тензор с заменой некоторых значений. В общем, вы должны найти способ вычислить результат, который вы хотите получить от имеющегося тензора. В вашем случае вы можете сделать, например, это:
import tensorflow as tf
import numpy as np
ary = np.array([82.20674918566776, 147.55325947521865,
25.804872964169384, 85.34690767735665,
1, 0]).reshape(1,1,1,1,6)
tf_array = tf.convert_to_tensor(ary, tf.float32)
value_x = 13.0
norm_value = 416.0
# Mask for the first four elements in the last dimension
m = tf.range(tf.shape(tf_array)[0]) < 4
# Pick the multiplication factor where the mask is true and 1 everywhere else
f = tf.where(m, value_x / norm_value, 1)
# Multiply the tensor
tf_array_multiplied = tf_array * f
# [[[[[2.568961 4.611039 0.80640227 2.667091 0.03125 0. ]]]]]