#!/usr/bin/env python2
-- coding: utf-8 --
“”\"
Created on Thu Dec 20 10:20:55 2018
@author: prestonhuang
“”\"
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
train_X = np.linspace(-1,1,100)
train_Y = 2*train_X + np.random.randn(train_X.shape) 0.3 # y=2x
plt.plot(train_X,train_Y,‘ro’,label = ‘Original data’)
plt.legend()
plt.show()
X = tf.placeholder(‘float’)
Y = tf.placeholder(‘float’)
W = tf.Variable(tf.random_normal([1]), name = ‘Weight’)
b = tf.Variable(tf.zeros([1]), name =‘bias’)
z = tf.multiply(X,W) + b
#反向传播
cost = tf.reduce_mean(tf.square(Y - z))#平均值,平方
learning_rate = 0.01
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)
int = tf.global_variables_initializer()
#定义参数
trainning_epoch = 20
display_step = 2
#启动session
with tf.Session() as sess:
sess.run(int)
plotdata = {‘batchsize’:[],‘loss’:[]}
for epoch in range(trainning_epoch):
for (x,y) in zip(train_X,train_Y):
sess.run(optimizer, feed_dict = {X:x,Y:y})
if (epoch % display_step) == 0:
loss = sess.run(cost,feed_dict = {X:train_X,Y:train_Y})
print (‘Epoch:’,epoch+1,‘cost=’,loss,‘w=’,sess.run(W),‘b=’,sess.run(b))
if not (loss == ‘NA’):
plotdata[‘batchsize’].append(epoch)
plotdata[‘loss’].append(loss)
print(\'Finished!\')
print(\'cost=\',sess.run(cost,feed_dict={X:train_X,Y:train_Y}),\'W=\',sess.run(W),\"b=\",sess.run(b))
#使用模型
print(\'x=0.2 z=\',sess.run(z,feed_dict={X:0.2}))
继续阅读与本文标签相同的文章
-
《DNS攻击防范科普系列4》--遭遇DNS缓存投毒该怎么办?
2026-05-18栏目: 教程
-
进击的 Java ,云原生时代的蜕变
2026-05-18栏目: 教程
-
阿里云Kubernetes平台构建和管理实践(上)
2026-05-18栏目: 教程
-
阿里云Kubernetes平台构建和管理实践(下)
2026-05-18栏目: 教程
-
F5的SSL加解密和负载均衡器如何提高安全性?
2026-05-18栏目: 教程
