TensorFlow从0到1 - 7 - TensorFlow线性回归的参数溢出之坑

• 参数初始值a=-1，b=50；
• 训练数据x_train = [22, 25]；
• 训练数据y_train = [18, 15]。

```import tensorflow as tf

# model parameters
a = tf.Variable([-1.], tf.float32)
b = tf.Variable([50.], tf.float32)

# model input and output
x = tf.placeholder(tf.float32)
linear_model = a * x + b
y = tf.placeholder(tf.float32)

# loss
loss = tf.reduce_sum(tf.square(linear_model - y)) / 4   # sum of the squares

# training data
x_train = [22, 25]
y_train = [18, 15]

# optimizer
train = optimizer.minimize(loss)

# training loop
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
for i in range(10):
sess.run(train, {x: x_train, y: y_train})
curr_a, curr_b, curr_loss = sess.run([a, b, loss], {x: x_train, y: y_train})
print("a: %s b: %s loss: %s" % (curr_a, curr_b, curr_loss))

# evaluate training accuracy
curr_a, curr_b, curr_loss = sess.run([a, b, loss], {x: x_train, y: y_train})
print("a: %s b: %s loss: %s" % (curr_a, curr_b, curr_loss))```

```a: [-3.3499999] b: [ 49.90000153] loss: 1033.39
a: [ 7.35424948] b: [ 50.35325241] loss: 21436.4
a: [-41.40307999] b: [ 48.28647232] loss: 444752.0
a: [ 180.68467712] b: [ 57.69832993] loss: 9.22756e+06
a: [-830.91589355] b: [ 14.8254509] loss: 1.9145e+08
a: [ 3776.88330078] b: [ 210.10742188] loss: 3.97214e+09
a: [-17211.45703125] b: [-679.39624023] loss: 8.24126e+10
a: [ 78389.59375] b: [ 3372.25512695] loss: 1.70987e+12
a: [-357069.3125] b: [-15082.85644531] loss: 3.54758e+13
a: [ 1626428.5] b: [ 68979.421875] loss: 7.36039e+14
a: [ 1626428.5] b: [ 68979.421875] loss: 7.36039e+14```

0 条评论

• TensorFlow从0到1 - 12 - TensorFlow构建3层NN玩转MNIST

上一篇 11 74行Python实现手写体数字识别展示了74行Python代码完成MNIST手写体数字识别，识别率轻松达到95%。这算不上一个好成绩，不过我并...

• TensorFlow从0到1 - 5 - TensorFlow轻松搞定线性回归

上一篇 第一个机器学习问题 其实是一个线性回归问题（Linear Regression），呈现了用数据来训练模型的具体方式。本篇从平行世界返回，利用Tenso...

• TensorFlow从0到1 - 16 - L2正则化对抗“过拟合”

前面的14 交叉熵损失函数——防止学习缓慢和15 重新思考神经网络初始化从学习缓慢问题入手，尝试改进神经网络的学习。本篇讨论过拟合问题，并引入与之相对的L2正...

• 【AI初识境】深度学习中常用的损失函数有哪些？

这是专栏《AI初识境》的第11篇文章。所谓初识，就是对相关技术有基本了解，掌握了基本的使用方法。

• 深度学习中常用的损失函数loss有哪些？

这是专栏《AI初识境》的第11篇文章。所谓初识，就是对相关技术有基本了解，掌握了基本的使用方法。

• 论文阅读|How Does Batch Normalizetion Help Optimization

Batch Normalization在2015年被谷歌提出，因为能够加速训练及减少学习率的敏感度而被广泛使用。

• 论文阅读|How Does Batch Normalizetion Help Optimization

Batch Normalization在2015年被谷歌提出，因为能够加速训练及减少学习率的敏感度而被广泛使用。

• Tensorflow入门教程(二十二）——分割模型中的损失函数

在之前的篇章中我分享过2D和3D分割模型的例子，里面有不同的分割网络Unet，VNet等。今天我就从损失函数这个方向给大家分享一下在分割模型中常用的一些函数。

• 深度学习如何调参？

对于深度学习本人也是半路出家. 现在的工作内容主要就是使用CNN做CV任务. 干调参这种活也有两年时间了. 我的回答可能更多的还是侧重工业应用, 技术上只限制在...