У меня есть такая матрица:
tf_ent = tf.Variable([ [9.96, 8.65, 0.8, 0.1 ],
[0.7, 8.33, 0 , 0 ],
[0.9, 0, 6, 7.33],
[6.60, 0, 3, 5.5 ],
[9.49, 0., 0, 0 ],
[0.4, 8.45, 0, 0.2 ],
[0.3, 0, 5.82, 8.28]])
Я хочу получить вывод, в котором вес в том же диапазоне получает тот же number
.
Другими словами, это число является хорошим представителем weight range
в матрице.
Итак, мой идеальный вывод может быть примерно таким:
[[5, 5, 1, 1],
[1, 5, 0, 0],
[1, 0, 6, 5],
[4, 0, 2, 3],
[5, 0., 0, 0],
[1, 5, 0, 1],
[1, 0, 3, 5]]
В этом случае я сопоставил это условие (считайте, что у меня есть мое сопоставление):
range(0.1, 1) -> 1
range( 1, 3) -> 2
range( 3, 5) -> 3
range(5, 7) -> 4
range (7, 10) -> 5
сначала я попробовал с tf.histogram_fixed_width_bins
, но это не дало мне ожидаемого результата:
это мой код:
value_ranges = [0, 10.0]
nbins = 5
new_f_w_t = tf.histogram_fixed_width_bins(tf_ent, value_ranges, nbins)
print(new_f_w_t)
и это вывод этого кода:
output= [[4 4 0 0]
[0 4 0 0]
[0 0 3 3]
[3 0 1 2]
[4 0 0 0]
[0 4 0 0]
[0 0 2 4]]
выводит больше как получение эквивалентного целого числа этих чисел с плавающей запятой, а не с учетом какого-либо диапазона.
Как эффективно получить динамическое отображение матрицы?
Заранее спасибо:)