Я совершенно новичок в TensorFlow. Я пытаюсь случайным образом установить тензор 3x3x3 и использовать двоичный фильтр, чтобы выбрать те числа, которые превышают пороговое значение. Я хотел бы увидеть вычисленные значения (a & filterr) перед выводом окончательного результата, но ответы неверны. Я не знаю, какую часть я делаю неправильно. Ниже я приложил свой код:
with tf.Session() as test_a:
a=tf.random_normal([3,3,3],mean=0,stddev=1,seed=1)
print(a.eval())
filterr=a>=.6
print(filterr.eval())
b=tf.boolean_mask(a,filterr)
print(b.eval())
print(b.shape)
и получил ответы:
[[[-0.81131822 1.48459876 0.06532937]
[-2.44270396 0.0992484 0.59122431]
[ 0.59282297 -2.12292957 -0.72289723]]
[[-0.05627038 0.64354479 -0.26432407]
[ 1.85663319 0.56784171 -0.38283592]
[-1.48534346 1.26177108 -0.02530608]]
[[-0.26462969 1.53281379 -1.74297714]
[-0.43789294 -0.56601 0.32066926]
[ 1.13283098 -2.27825713 0.48281202]]]
[[[False False False]
[False False False]
[False False False]]
[[ True True False]
[False False True]
[False False False]]
[[ True True False]
[False False False]
[False False False]]]
[ 1.20987165 1.98343861 0.61846256 0.93533695 1.5299418 0.94479334
0.66142792 1.05845833 1.35748792]
(?,)
Я также не знаю, почему размер тензора b равен (?,).
Большое спасибо за вашу помощь.