Мне нужно сгенерировать 2-мерный тензор из различных шаговых функций, где шаговая функция из
shape (20) with k=5
- это следующий тензор
[1,1,1,1,1,0,0,...0]
(k - это число единиц)
У меня естьтензор, содержащий разные k для каждой функции шага, и в настоящее время я генерирую 2d выходной фильтр итеративно
Это мой код:
# built 20 step functions, each with 10 variables, initializing k=5
weight_param = tf.Variable(np.full((20), 5), dtype=tf.int32)
kernel_filter = tf.Variable(tf.zeros((10,20),trainable=False)
for i in range(20):
shape_ones = 20 - weight_param[i]
shape_zeros = weight_param[i]
kernel_filter[:, i] = kernel_filter[:, i].assign(tf.concat([tf.ones(shape_ones, dtype=tf.float32), tf.zeros(shape_zeros, dtype=tf.float32)], axis=-1))