TensorFlow学习笔记

来源:互联网 发布:儿童编程 ipad 编辑:程序博客网 时间:2024/06/06 05:26

1、拟合直线

# Import the libraryimport tensorflow as tfimport numpy as np# Prepare train datatrain_X = np.linspace(-1, 1, 100)#temp1 = *train_X,#temp2 = *train_X.shape,#*argc 解包,把数组打开#temp3 = train_X.shape,train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.33 + 10# Define the ModelX = tf.placeholder("float")Y = tf.placeholder("float")w = tf.Variable(0.0, name="weght")b = tf.Variable(0.0, name="bias")loss = tf.square(Y - tf.multiply(X, w) - b)#loss = tf.square(Y - tf.mul(X, w) - b)train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)# Create session to runwith tf.Session() as sess:    sess.run(tf.initialize_all_variables())    epoch = 1    for i in range(10):        for (x, y) in zip(train_X, train_Y):            _, w_value, b_value = sess.run([train_op, w, b], feed_dict={X:x, Y:y})            print("Epoch: {}, w: {}, b: {}".format(epoch, w_value, b_value))            epoch += 1

调试这段代码遇到了几个问题

*train_X.shape中 * 的意思表示将一个数组解压,比如a = [1,  2,  3],那*a则是  1,  2,  3,把数组打开了,这么用是因为randn函数的参数需求

tf.mul运行报错,需要改为tf.multiply


原创粉丝点击