tensorflow随笔-条件循环控制(15)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/u010255642/article/details/82531896
今日推荐