tensorflow学习之二:通过feed_dict 的方式输入数据并注意一点地方

sess.run(L2, feed_dict={x: x_data}) 既然用了feed_dict的模式在每次run的时候不要忘记加上feed_dict
而且不要把这一句再到 每多少次打印的if块内,因为不会起作用,它依然会每feed一次数据打印一次




import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
#随机生成数据  后续这部分就是说数据清洗,载入,预处理的部分了,总之是tensorflow可以处理的数据
x_data = np.linspace(0.5,0.8,200)[:,np.newaxis]
b = np.random.normal(0.,0.02,x_data.shape)
y_data = np.square(x_data) + b


# plt.figure()
# plt.scatter(x_data,y_data)
# plt.show()
#定义tensorflow的输入
x = tf.placeholder(tf.float32,[None,1])
y = tf.placeholder(tf.float32,[None,1])

#定义中间层
w_1 = tf.Variable(tf.random_normal([1,10]))
b_1 = tf.Variable(tf.zeros([1,10]))
L1 = tf.nn.tanh(tf.add(tf.matmul(x,w_1),b_1))
#定义输出层
w_2 = tf.Variable(tf.random_normal([10,1]))
b_2 = tf.Variable(tf.zeros([1,1]))
L2 = tf.nn.tanh(tf.add(tf.matmul(L1,w_2),b_2))


#定义损失函数
loss = tf.reduce_mean(tf.square(y - L2))

#定义优化函数
train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.global_variables_initializer()





with tf.Session() as sess:
    sess.run(init)
    for step in range(10000):
        sess.run(train,feed_dict={x:x_data,y:y_data})
        if step % 200 == 0:
            print(step)
        # sess.run(L2, feed_dict={x: x_data}) 既然用了feed_dict的模式在每次run的时候不要忘记加上feed_dict
        # 而且不要把这一句再到 每多少次打印的if块内,因为不会起作用,它依然会每feed一次数据打印一次

你可能感兴趣的:(tensorflow)