Tensorflow教程(一)——线性模型

安装

pip3 install tensorflow

引入

import tensorflow as tf

执行Options

with tf.compat.v1.Session() as session:
    session.run([...])
    # 执行初始化变量
    session.run(init)
    # Feed赋值
    print(session.run(iMul, feed_dict={input2: [7.0], input3: [3.0]}))

常量和变量

# 声明常量
m1 = tf.compat.v1.constant([[3, 3]])
# 声明变量
var = tf.Variable([1, 2])
# 初始化变量
init = tf.compat.v1.global_variables_initializer()
# 变量赋值
update = tf.compat.v1.assign(counter, new_value)
# 占位符声明变量
input = tf.compat.v1.placeholder(tf.float32)

实现y=ax+b线性模型

# 构建线性模型
tf.compat.v1.disable_eager_execution()
x_data = np.random.rand(100)
y_data = x_data * 0.1 + 0.2
k = tf.compat.v1.Variable(0.)
b = tf.compat.v1.Variable(0.)
y = k * x_data + b
# 二次代价函数
loss = tf.compat.v1.reduce_mean(tf.square(y_data - y))
# 定义梯度下降法训练优化器
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.2)
# 最小化代价函数
train = optimizer.minimize(loss)
# 初始化变量
init = tf.compat.v1.global_variables_initializer()
# 定义会话
with tf.compat.v1.Session() as session:
    # 执行初始化变量
    session.run(init)
    # 拟合训练
    for step in range(201):
        session.run(train)
        if step % 20 == 0:
            print(step, session.run([k, b]))

运行结果

0 [0.052299168, 0.09965591]
20 [0.10233624, 0.1987706]
40 [0.10136684, 0.19928078]
60 [0.10079966, 0.19957922]
80 [0.10046784, 0.19975384]
100 [0.100273706, 0.19985598]
120 [0.10016012, 0.19991575]
140 [0.10009368, 0.19995071]
160 [0.1000548, 0.19997117]
180 [0.10003207, 0.19998313]
200 [0.10001877, 0.19999012]
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

现在是不是都是直接用keras了

4周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!