tensorflow起步

下面这段Python代码生成了一些三维数据 然后用一个平面拟合

import tensorflow as tf
import numpy as np

# 生成2*100的数据
x = np.float32(np.random.rand(2, 100))  # 生成2*100的输入数据
y_ = np.dot([0.1, 0.2], x) + 0.3 # 标准结果

# 使用variable默认加入要训练的参数
# random_uniform 生成均匀分布的数据 第一个参数是矩阵shape 后两个参数是数据范围
w = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
# 生成一个全0的集合  长度为1
b = tf.Variable(tf.zeros([1])) # 偏置项

# 前向传播
# matmul两个矩阵相乘 结果每一项加b中对应的项
y = tf.matmul(w, x) + b


# 反向传播
# 定义losss函数 最小化方差
loss = tf.reduce_mean(tf.square(y-y_))
# 使用梯度下降进行参数优化
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

with tf.Session() as sess:
        # 初始化变量
        sess.run(tf.initialize_all_variables())

        # 进行200次迭代训练
        for step in range(200):
                sess.run(train_step)

        # 打印训练后的参数值
        # 结果应该近似于 w: [[0.1 0.2]], b: [0.3]
        print("reslut: w: ", sess.run(w), ", b: ", sess.run(b) )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值