python3下tensorflow练习(一)

1.了解tensorflow基本架构

2.用梯度下降的方法训练处模型

3.可视化样本数据,可视化训练出的模型以及可视化损失函数

 
 

"""
Created on Wed May  2 09:40:08 2018
@author: jiangcheng
"""


import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# create data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*0.1 + 0.3
#打印出准备训练的样本
fig = plt.figure()  
plt.xlabel('X')  
#设置Y轴标签  
plt.ylabel('Y')    
plt.scatter(x_data,y_data,c = 'r',marker = 'x')  #'o'---圆点,‘s’---方块
#设置图标 ,左上角的图标 
plt.legend('x')  
#显示所画的图  
plt.show()  
### tensorflow structure start ###
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weights*x_data + biases
loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)#梯度下降,学习速率为0.5
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()
###  tensorflow structure end ###


sess = tf.Session()
sess.run(init)          # Very important


cost=[]
for step in range(201):
    sess.run(train)
    if step % 20 == 0:
#        print(step, sess.run(Weights), sess.run(biases))
        print("Cost after iteration {}: {}".format(step, np.squeeze(sess.run(loss))))
        cost.append(sess.run(loss))
####训练出的模型
fig = plt.figure()    
#设置X轴标签  
plt.xlabel('Xmodel')  
#设置Y轴标签  
plt.ylabel('Ymodel')  
#画散点图  
plt.scatter(x_data,sess.run(y),c = 'y',marker = 'o')  #'o'---圆点,‘s’---方块
#设置图标 ,左上角的图标 
plt.legend('xmodel')   
plt.show()  
###打印代价
plt.plot(np.squeeze(cost))  #压缩
plt.ylabel('cost')
plt.xlabel('iterations (per 20)')
plt.title("Learning rate =" +str( 0.5))

plt.show()

 

1.训练的数据可视化

 

python3下tensorflow练习(一)_第1张图片

2.模型可视化

python3下tensorflow练习(一)_第2张图片

3.损失函数可视化

python3下tensorflow练习(一)_第3张图片

 

 

 

 

 

 

 

你可能感兴趣的:(深度学习与机器学习)