我就废话不多说了,直接上代码吧!
#!/bin/bash# -*-coding=utf-8-*-import reimport osimport sysimport numpy as npimport tensorflow as tf''' 程序生成了一些三维数据, 然后用一个平面拟合它.'''if __name__ == '__main__': x_data = np.float32(np.random.rand(2, 100)) y_data = np.dot([0.100, 0.200], x_data) + 0.300 # 构造一个线性模型 # b = tf.Variable(tf.zeros([1])) W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0)) y = tf.matmul(W, x_data) + b # 最小化方差 loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) # 初始化变量 init = tf.initialize_all_variables() # 启动图 (graph) with tf.Session() as sess: sess.run(init) # 拟合平面 for step in range(0, 201): sess.run(train) if step % 20 == 0: print(step, sess.run(W), sess.run(b)) pass
运行结果:
0 [[-0.17184146 0.86964405]] [ 0.1381081]20 [[ 0.08097319 0.36775881]] [ 0.21781394]40 [[ 0.10813832 0.2485593 ]] [ 0.26939642]60 [[ 0.10546865 0.2152364 ]] [ 0.28894189]80 [[ 0.10238092 0.20503291]] [ 0.29606038]100 [[ 0.10091752 0.20171218]] [ 0.29860607]120 [[ 0.10033666 0.20059179]] [ 0.29950845]140 [[ 0.10012084 0.20020625]] [ 0.29982695]160 [[ 0.10004292 0.20007218]] [ 0.29993913]180 [[ 0.10001516 0.20002531]] [ 0.29997858]200 [[ 0.10000535 0.2000089 ]] [ 0.29999247]
最佳拟合结果 W: [[0.100 0.200]], b: [0.300]
以上这篇tensorflow实现二维平面模拟三维数据教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。
新闻热点
疑难解答