python 3.x - Tensorflow clamp values outside specific range -


i have been using tensorflow implement convolutional neural network, have requirement the output values less given value max_val

i tried creating matrix filled max_val , using tf.select , tf.greater :

filled = tf.fill(output.get_shape(),max_val) modoutput = tf.select(tf.greater(output, filled), filled, output) 

but doesn't work because shape of output not known statically: [?, 30] , tf.fill requires explicit shape.

any idea how implement this?

there alternative solution uses tf.fill() initial version. instead of using tensor.get_shape() static shape of output, use tf.shape() operator dynamic shape of output when step runs:

output = ... filled = tf.fill(tf.shape(output), max_val) modoutput = tf.select(tf.greater(output, filled), filled, output) 

(note tf.clip_by_value() operator might useful purposes.)


Comments

Popular posts from this blog

Spring Boot + JPA + Hibernate: Unable to locate persister -

go - Golang: panic: runtime error: invalid memory address or nil pointer dereference using bufio.Scanner -

c - double free or corruption (fasttop) -