码迷,mamicode.com
首页 > 其他好文 > 详细

TensorFlow的基本结构

时间:2020-06-14 01:42:13      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:计算   cos   was   minus   initial   feed   ble   hold   owa   

任务:损失函数?? = ??2 −10?? +25,使用TensorFlow找到使损失函数最小的??值。

import numpy as np
import tensorflow as tf

w=tf.Variable(0,dtype=tf.float32)
cost=tf.add(tf.add(w**2,tf.multiply(-10.,w)),25)            #定义损失函数,或者写成w**2-10*w+25
train=tf.train.GradientDescentOptimizer(0.01).minimize(cost)#使用0.01的学习率最小化损失

init=tf.global_variables_initializer()
session=tf.Session()        #开启一个TensorFlow session
session.run(init)           #初始化全局变量
print(session.run(w))       #0.0

session.run(train)     
print(session.run(w))       #在一步梯度下降法之后,w是0.1

for i in range(1000):       #梯度下降1000次之后,w的值接近5
    session.run(train)
print(session.run(w))

更通用的写法

 1 import numpy as np
 2 import tensorflow as tf
 3 
 4 coefficients=np.array([[1.],[-10.],[25.]])  #系数数组(可换成其他数组)
 5 
 6 w=tf.Variable(0,dtype=tf.float32)
 7 x=tf.placeholder(tf.float32,[3,1])          #x变成[3,1]数组,placeholder函数告诉TensorFlow稍后为x提供数组,便于把训练数据加入损失方程
 8 cost=x[0][0]*w**2+x[1][0]*w+x[2][0]         #损失函数的另一种写法
 9 train=tf.train.GradientDescentOptimizer(0.01).minimize(cost)#使用0.01的学习率最小化损失
10 
11 init=tf.global_variables_initializer()
12 session=tf.Session()        #开启一个TensorFlow session
13 session.run(init)           #初始化全局变量
14 print(session.run(w))       #0.0
15 
16 session.run(train,feed_dict={x:coefficients})     #将系数数组接入x,加入损失方程
17 print(session.run(w))                             #0.1
18 
19 for i in range(1000):
20     session.run(train,feed_dict={x:coefficients})
21 print(session.run(w))                             #4.99999

TensorFlow程序的核心是计算损失函数,自动计算导数,以及如何最小化损失。

???????? = ??[0][0]∗?? ∗∗2+??[1][0]∗?? +??[2][0]这行代码所做的就是让TensorFlow建立计算图。计算图所做的就是取??[0][0],取??,然后将它平方,然后??[0][0]和??2相乘,你就得到了??[0][0]∗??2,以此类推,最终整个建立起来计算???????? = ??[0][0]∗?? ∗∗2+??[1][0]∗?? +??[2][0],最后你得到了损失函数。

TensorFlow的基本结构

标签:计算   cos   was   minus   initial   feed   ble   hold   owa   

原文地址:https://www.cnblogs.com/cxq1126/p/13122390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!