阅读背景:

人工智能实践:Tensorflow笔记(二)

来源:互联网 



import tensorflow as tf
import numpy as np
BATCH_SIZE=8
SEED=23455
#基于seed产生随机数
rdm=np.random.RandomState(SEED)
#从X这个32行2列的矩阵中 取出一行 判断如果和小于1 给Y赋值1 如果和不小于1 给Y赋值0
#作为输入数据集的标签(正确答案)
X=rdm.rand(32,2)
#给标签加上-0.05~+0.05的随机噪声 rdm.rand()-->0~1-->除以10-->0~0.1-->0.05-->-0.05~0.05
Y_=[[x0+x1+(rdm.rand() /10.0-0.05)] for (x0,x1) in X]
print ("X:\n",X)
print ("Y_:\n",Y_)

x=tf.placeholder(tf.float32,shape=(None,2))
y_=tf.placeholder(tf.float32,shape=(None,1))
w1=tf.Variable(tf.random_normal([2,1],stddev=1,seed=1))
#预测值
y=tf.matmul(x,w1)


loss=tf.reduce_mean(tf.square(y_-y))
train_step=tf.train.GradientDescentOptimizer(0.001).minimize(loss)

with tf.Session() as sess:
    init=tf.global_variables_initializer()
    sess.run(init)
    print('w1:\n', sess.run(w1))


    #训练模型
    step=30000
    for i in range(step):
        start=(i*BATCH_SIZE)%32
        end=start+BATCH_SIZE
        sess.run(train_step,feed_dict={x:X[start:end],y_:Y_[start:end]})
        if i%1000==0:
            total_loss=sess.run(loss,feed_dict={x:X,y_:Y_})
            print("After %d training steps, w1 is :"%(i))
            print('w1:\n', sess.run(w1))
    print('final w1 is: \n',sess.run(w1))

'''
X:
 [[ 0.83494319  0.11482951]
 [ 0.66899751  0.46594987]
 [ 0.60181666  0.58838408]
 [ 0.31836656  0.20502072]
 [ 0.87043944  0.02679395]
 [ 0.41539811  0.43938369]
 [ 0.68635684  0.24833404]
 [ 0.97315228  0.68541849]
 [ 0.03081617  0.89479913]
 [ 0.24665715  0.28584862]
 [ 0.31375667  0.47718349]
 [ 0.56689254  0.77079148]
 [ 0.7321604   0.35828963]
 [ 0.15724842  0.94294584]
 [ 0.34933722  0.84634483]
 [ 0.50304053  0.81299619]
 [ 0.23869886  0.9895604 ]
 [ 0.4636501   0.32531094]
 [ 0.36510487  0.97365522]
 [ 0.73350238  0.83833013]
 [ 0.61810158  0.12580353]
 [ 0.59274817  0.18779828]
 [ 0.87150299  0.34679501]
 [ 0.25883219  0.50002932]
 [ 0.75690948  0.83429824]
 [ 0.29316649  0.05646578]
 [ 0.10409134  0.88235166]
 [ 0.06727785  0.57784761]
 [ 0.38492705  0.48384792]
 [ 0.69234428  0.19687348]
 [ 0.42783492  0.73416985]
 [ 0.09696069  0.04883936]]
Y_:
 [[0.969797861054287], [1.1634604857835003], [1.1942714411690643], [0.53844884486018385], [0.86327606020616487], [0.83393219491487269], [0.92808933540244687], [1.6879345369421652], [0.90366745057004794], [0.51295653519175899], [0.78442523759738858], [1.299175094270699], [1.0919817282657285], [1.0880495166868347], [1.1734589741814216], [1.3098158421478576], [1.2387201482616108], [0.82896799389366127], [1.3550486329517144], [1.5786661754924429], [0.75243054841650525], [0.73263188683810321], [1.2449966435046544], [0.788097599402105], [1.5577488607336392], [0.38892569979304559], [1.0277860551407527], [0.61040422778909775], [0.85948088233563036], [0.88107574300613067], [1.1456401959033111], [0.1907476486033659]]

w1:
 [[-0.81131822]
 [ 1.48459876]]
After 0 training steps, w1 is :
w1:
 [[-0.80974597]
 [ 1.48529029]]
After 1000 training steps, w1 is :
w1:
 [[-0.21939856]
 [ 1.69847655]]
After 2000 training steps, w1 is :
w1:
 [[ 0.08942621]
 [ 1.67332804]]
After 3000 training steps, w1 is :
w1:
 [[ 0.28375748]
 [ 1.58544338]]
After 4000 training steps, w1 is :
w1:
 [[ 0.42332521]
 [ 1.49073923]]
After 5000 training steps, w1 is :
w1:
 [[ 0.5311361 ]
 [ 1.40545344]]
After 6000 training steps, w1 is :
w1:
 [[ 0.6173259 ]
 [ 1.33294022]]
After 7000 training steps, w1 is :
w1:
 [[ 0.68726856]
 [ 1.27260184]]
After 8000 training steps, w1 is :
w1:
 [[ 0.74438614]
 [ 1.22281957]]
After 9000 training steps, w1 is :
w1:
 [[ 0.79115146]
 [ 1.18188882]]
After 10000 training steps, w1 is :
w1:
 [[ 0.82948142]
 [ 1.14828289]]
After 11000 training steps, w1 is :
w1:
 [[ 0.8609128 ]
 [ 1.12070608]]
After 12000 training steps, w1 is :
w1:
 [[ 0.88669145]
 [ 1.09808242]]
After 13000 training steps, w1 is :
w1:
 [[ 0.90783483]
 [ 1.07952428]]
After 14000 training steps, w1 is :
w1:
 [[ 0.92517716]
 [ 1.06430185]]
After 15000 training steps, w1 is :
w1:
 [[ 0.93940228]
 [ 1.05181527]]
After 16000 training steps, w1 is :
w1:
 [[ 0.95107025]
 [ 1.04157281]]
After 17000 training steps, w1 is :
w1:
 [[ 0.96064115]
 [ 1.03317142]]
After 18000 training steps, w1 is :
w1:
 [[ 0.96849167]
 [ 1.02628016]]
After 19000 training steps, w1 is :
w1:
 [[ 0.974931  ]
 [ 1.02062762]]
After 20000 training steps, w1 is :
w1:
 [[ 0.98021317]
 [ 1.01599193]]
After 21000 training steps, w1 is :
w1:
 [[ 0.98454493]
 [ 1.01218843]]
After 22000 training steps, w1 is :
w1:
 [[ 0.98809904]
 [ 1.00906873]]
After 23000 training steps, w1 is :
w1:
 [[ 0.99101412]
 [ 1.00651038]]
After 24000 training steps, w1 is :
w1:
 [[ 0.99340498]
 [ 1.00441146]]
After 25000 training steps, w1 is :
w1:
 [[ 0.99536628]
 [ 1.00269127]]
After 26000 training steps, w1 is :
w1:
 [[ 0.99697423]
 [ 1.00127912]]
After 27000 training steps, w1 is :
w1:
 [[ 0.99829453]
 [ 1.00012016]]
After 28000 training steps, w1 is :
w1:
 [[ 0.99937749]
 [ 0.99917036]]
After 29000 training steps, w1 is :
w1:
 [[ 1.00025988]
 [ 0.99839056]]
final w1 is: 
 [[ 1.00097299]
 [ 0.99774671]]

'''import tensorflow as tf
import numpy a



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: