赞
踩
本文为学习TensorFlow中文社区内容后的个人整理、总结,并对一些代码中的错误进行的修正和解释。
先看一个示例,可以简单明白基于tensorflow的机器学习到底是什么东西,是怎么实现的,以及tensorflow库在里面扮演什么角色。
案例:Python 程序生成了一些三维数据, 然后用一个平面拟合它
- import tensorflow as tf
- import numpy as np
- # os 这两句代码是我自己加的,以规避掉AVX警告
- # 可参见文章<机器学习——TensorFlow库使用中遇到的报错情况>
- import os
- os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
-
- # 使用 NumPy 生成假数据(phony data), 总共 100 个点.
- 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)) ## 原文使用random_uniform报错
- y = tf.matmul(W, x_data) + b
-
- # 最小化方差
- loss = tf.reduce_mean(tf.square(y - y_data))
- #optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.5)
- optimizer = tf.train.GradientDescentOptimizer(0.5)
- train = optimizer.minimize(loss)
-
- # 初始化变量
- init = tf.initialize_all_variables()
-
- # 启动图 (graph)
- sess = tf.Session()
- sess.run(init)
-
- # 拟合平面
- #原文使用xrange(0,201)报错
- for step in range(0, 201):
- sess.run(train)
- #每20组显示一组训练情况
- if step % 20 == 0:
- print (step, sess.run(W), sess.run(b))
-
- # 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]
- # 运行结果如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。