Tensorflow学习笔记(1)--基本流程,会话控制,变量,占位符

import tensorflow as tf

目标函数:y = 0.1 * x + 0.3

假设函数:y = Weights * x + biases

预期结果:Weight接近0.1 biase接近0.3

###creat tensorflow structure start###
Weights = tf.Variable(tf.random_uniform([1], -0.1, 1.0))#生成变量 一维 随机值 初始范围-1.0-1.0
biases = tf.Variable(tf.zeros([1]))#生成变量 一维 初始值为0

y = Weights * x_data + biases#预测的y

loss = tf.reduce_mean(tf.square(y - y_data))#损失函数
optimizer = tf.train.GradientDescentOptimizer(0.5)#优化器 此处选择最基础的梯度下降优化 learningrate=0.5
train = optimizer.minimize(loss) 

init = tf.global_variables_initializer()#初始化变量
###creat tensorflow structure end###

sess = tf.Session()
sess.run(init)#激活init#非常重要

for step in range(201):#训练201次
	sess.run(train)
	if step % 20 == 0:#每隔20步打印一下结果
		print(step, sess.run(Weights), sess.run(biases))

#0 [0.33985224] [0.23351549]
#20 [0.15669385] [0.27154386]
#40 [0.11472772] [0.29260778]
#60 [0.10382592] [0.29807967]
#80 [0.10099389] [0.29950115]
#100 [0.10025816] [0.29987043]
#120 [0.10006707] [0.29996634]
#140 [0.10001742] [0.29999128]
#160 [0.10000453] [0.29999775]
#180 [0.10000118] [0.29999942]
#200 [0.1000003] [0.29999986]

2.session

tensorflow中所有流程是以session来运行的

session的两种打开方式。第一种:

sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()

第二种:

with tf.Session() as sess:#不用担心close
	result2 = sess.run(product)
	print(result2)

3.变量

TensorFlow中定义一个变量

#定义一个变量,命名为count
state = tf.Variable(0, name = 'counter')

定义一个常量:

one = tf.constant(1)

也可以是二维列表:

two = tf.constant([[123, 123], [234, 234])

如果要运行必须使用sess.run()

with tf.Session() as sess:
  print(sess.run(two))
#[[123 123]
  [234 234]]

否则直接print出的结果为

#Tensor("Const_1:0", shape=(2, 2), dtype=int32)

定义一个变量后要向运行必须先进行初始化

init = tf.global_variables_initializer()
#sess.run(init)
state = tf.Variable(0, name = 'counter')#定义一个变量 命名为counter
print(state.name)#counter:0
one = tf.constant(1)#定义一个常量

new_value = tf.add(state, one)
update = tf.assign(state, new_value)#将new_value加载到state变量上 
#现在state == new_value

init = tf.global_variables_initializer()#must have if define variable

with tf.Session() as sess:
	sess.run(init)#初始化所有变量
	for _ in range(3):
		sess.run(update)
		print(sess.run(state))
		#1
		#2
		#3


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值