版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010255642/article/details/82531896
组合tf.cond与tf.while_loop
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 6 10:16:37 2018
@author: myhaspl
@email:[email protected]
二分法猜数字
"""
import tensorflow as tf
def body(a,b,guessnum,num):
center = tf.div(tf.add(a, b),2)
a,b,num= tf.cond(guessnum>center, lambda: (center,b,center), lambda: (a,center,center))
return (tf.Print(a,[a],"a:"),tf.Print(b,[b],"b:"),guessnum,num)
def c(a,b,guessnum,num):
return tf.not_equal(guessnum,num)
guessnum = tf.constant(71)
mynum = tf.constant(-1)
a = tf.constant(0)
b = tf.constant(100)
a,b,guessnum,num = tf.while_loop(c, body, (a,b,guessnum,mynum))
with tf.Session() as sess:
print sess.run(num)
b:[100]
a:[50]
a:[50]
b:[75]
b:[75]
a:[62]
b:[75]
a:[68]
a:[68]
b:[71]
71