炼数成金Tensorflow学习笔记之2.4_Tensorflow简单示例

炼数成金Tensorflow学习笔记之2.4_Tensorflow简单示例

代码及分析

# -*- coding: utf-8 -*-
"""
Created on Sat Mar 14 10:19:12 2020

@author: 寒火qwer
"""

import tensorflow as tf
import numpy as np

# 使用numpy生成100个随机点
# 通过np.random.rand可以返回一个或一组服从“0~1”均匀分布的随机样本值。
# 随机样本取值范围是[0,1),不包括1。
x_data = np.random.rand(100)
y_data = x_data * 0.1 + 0.2

# 构造一个线性模型
b = tf.Variable(0.)
k = tf.Variable(0.)
y = k * x_data + b

# 二次代价函数
loss = tf.reduce_mean(tf.square(y_data - y))

# 定义一个梯度下降法来进行训练的优化器
optimizer = tf.train.GradientDescentOptimizer(0.2)
# 定义一个最小化代价函数
train = optimizer.minimize(loss)

init_op = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init_op)
    for step in range(201):
        sess.run(train)
        if step%20 == 0:
            print(sess.run([k,b]))
'''
运行结果:
[0.05650742, 0.10101616]
[0.10541707, 0.19695188]
[0.10316595, 0.19821858]
[0.10185029, 0.19895889]
[0.10108138, 0.19939153]
[0.100632, 0.19964439]
[0.10036936, 0.19979218]
[0.10021586, 0.19987854]
[0.10012616, 0.19992901]
[0.10007373, 0.19995852]
[0.10004308, 0.19997576]
'''
  1. np.random.rand(d0,d1,d2……dn)
    作用:返回对应维度的一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。
  2. tf.square(x, name=None)
    作用:计算x中每个元素的平方
  3. tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
    作用:计算张量的各个维度上的元素的平均值.
    axis是tf.reduce_mean函数中的参数,按照函数中axis给定的维度减少input_tensor.除非keep_dims是true,否则张量的秩将在axis的每个条目中减少1.如果keep_dims为true,则缩小的维度将保留为1.
    如果axis没有条目,则减少所有维度,并返回具有单个元素的张量.
    input_tensor:要减少的张量.应该有数字类型.
    axis:要减小的尺寸.如果为None(默认),则减少所有维度.必须在[-rank(input_tensor), rank(input_tensor))范围内.
    keep_dims:如果为true,则保留长度为1的缩小尺寸.
    name:操作的名称(可选).
  4. tf.train.GradientDescentOptimizer(learning_rate, use_locking=False,name=’GradientDescent’)
    minimize() 函数处理了梯度计算和参数更新两个操作
    compute_gradients() 函数用于获取梯度
    apply_gradients() 用于更新参数
    添加链接描述
    添加链接描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值