TensorFlow 0.12.0 最简单的训练算法Demo

TensorFlow 0.12.0 最简单的训练算法Demo

# tf 0.12.0

import numpy as np
import tensorflow as tf
import random

# 版本
print(tf.__version__, tf.test.is_gpu_available())

# 会话
sess = tf.Session()

# 超参
MAX_EPOCH = 501
PRINT_INTERVAL = 50


def set_seed(manual_seed):
    random.seed(manual_seed)
    np.random.seed(manual_seed)
    tf.set_random_seed(manual_seed)


set_seed(0)

# 数据
x_data = np.random.rand(100).astype(np.float32)      # data
y_data = x_data * 0.1 + 0.3                          # label

# 模型
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))  # 范围-1到1
biases = tf.Variable(tf.zeros([1]))
y = tf.add(tf.mul(Weights, x_data), biases)               # 计算图,前向传播

# 模型权值初始化
init = tf.initialize_all_variables()  # 权值初始化策略,静态
sess.run(init)  # 激活初始化函数 extremely crucial!

# 优化器
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.5)

# 目标函数
loss = tf.reduce_mean(tf.square(y-y_data))                # 误差,损失,代价

# 反向传播,梯度下降-权值更新
train = optimizer.minimize(loss)

# 迭代训练
for step in range(MAX_EPOCH):
    sess.run(train)  # 前向传播,计算损失,反向传播,梯度下降-权值更新
    # 打印训练信息
    if step % PRINT_INTERVAL == 0:
        print(step, sess.run(Weights), sess.run(biases))

环境:
python == 3.5.5
tensorflow == 0.12.0

Many thanks to Teacher MorvanZhou and TingsongYu!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值