TensorFlow 程序的的一般结构

本博客深入解析了吴恩达深度学习课程中的代码示例,使用TensorFlow实现了一个简单的二次函数最小化问题,通过梯度下降法调整变量w以达到函数最小值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自吴恩达深度学习系列视频,博主给差不过每行代码加了详细解释。

import numpy as np
import tensorflow as tf

coefficients = np.array([[1.], [-20], [100.]]) #3行一列的系数矩阵

w = tf.Variable(0, dtype=tf.float32)   #创建变量w为0 类型为tf.float32
x = tf.placeholder(tf.float32, [3, 1]) #占位符 先声明类型后feed数据
#定义cost函数 J=w^2 - 10*w + 25
#cost = tf.add(tf.add(w**2, tf.multiply(-10., w)), 25)
#cost = w**2 - 10*w + 5

cost = x[0][0]*w**2 + x[1][0]*w + x[2][0]

#调用tf自带的GradientDescentOptimizer 设置learning_rate = 0.01
#调用GradientDescentOptimizer自带的minize去降低cost
train = tf.train.GradientDescentOptimizer(0.01).minimize(cost)

#指定init方法
init = tf.global_variables_initializer()

#创建一个新的会话
session = tf.Session()

#在当前会话下运行init 然后打印w的当前值
session.run(init)
print(session.run(w))

#在当前会话下运行一次梯度下降 然后打印w的当前值
session.run(train, feed_dict={x:coefficients})
print(session.run(w))

#执行1000次梯度下降 然后打印w当前值
for i in range(1000):
    session.run(train, feed_dict={x:coefficients})
print(session.run(w))

当前代码的运行结果:

0.0
0.19999999
9.999977
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值