看着书上稍微写了一下代码,代码还完全特别理解,之后再好好仔细阅读
import numpy as np
import tensorflow as tf
#2.0的tensorflow没有placeholder板块,只有把2.0的版本降低到1.0的版本,才可以使用placeholder,此处为降低版本的代码
tf = tf.compat.v1
tf.disable_v2_behavior()
from tensorflow.examples.tutorials.mnist import input_data
wb=[]
X_data=np.random.randn(2000,3)
w_real=[0.3,0.5,0.1]
b_real=-0.2
noise=np.random.randn(1,2000)*0.1
y_data=np.matmul(X_data,w_real)+noise+b_real
X=tf.placeholder(tf.float32,shape=(None,3))
y=tf.placeholder(tf.float32,shape=None)
w=tf.Variable([[0,0,0]],dtype=tf.float32)
b=tf.Variable(0,dtype=tf.float32)
y_pred=tf.matmul(w,tf.transpose(X))+b
loss=tf.reduce_mean(tf.square(y-y_pred))
optimizer=tf.train.GradientDescentOptimizer(learning_rate=0.01)
train_op=optimizer.minimize(loss)
with tf.Session() as sess:
tf.global_variables_initializer().run()
for step in range(10):
sess.run(train_op,feed_dict={X:X_data,y:y_data})
if (step%5==0):
print(step,sess.run([w,b]))
wb.append(sess.run([w,b]))
print(10,sess.run([w,b]))