tensorflow基础

本文详细介绍TensorFlow的基本使用方法,包括图构建与执行、数值类型转换、随机化方式、Variable的初始化与赋值、名称域、占位符、Graph操作及可视化。通过实例演示如何创建、运行和管理TensorFlow计算图。

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

tensorflow运行的基本框架

构建图+执行图

import tensorflow as tf
# tensor构建图
a = tf.constant(1)	# 一个tensor
b = tf.constant(2)	# 另一个tensor
c = tf.add(a,b)		# 一个op操作

# 执行图,开启一个session并打印新形成的tensor(c)的结果
sess = tf.Session()
print(sess.run(c))
sess.close()
# out:3

op:tensorflow中的各种基本操作(+ - * /)
fetch:将执行图的结果保存到变量中


数值类型转换:

import tensorflow as tf
a_float = tf.cast(a, dtype=tf.float32)

随机化方式:

# 标准正态分布
random_normal = tf.random_normal((), mean=0.0, stddv=1.0, dtype=tf.float32, seed=None)

# truncated正态随机
truncated_normal = tf.truncated_normal((), mean=0.0, stddv=1.0, dtype=tf.float32, seed=None)

# 均匀分布
rand_uniform = tf.random_uniform((), minval=0.0, maxval=1.0, dtype=tf.float32, seed=None)

Variable

初始化:

# 初始化所有变量
init = tf.global_variables_initializer()
sess.run(init)

# 初始化某些变量
init_ab = tf.variables_initializer([var_a,var_b])
init_ab.run()

# 初始化某个变量
var_w.initializer.run()

赋值:

# 前提:W初始化为10
W.assign(100)
W.initializer.run()
print(W.eval(sess))
# out:10

assign_op = W.assign(100)
W.initializer.run()
assign_op.eval()	# 赋值后需要执行
print(W.eval())
# out:100

名称域

with tf.name_scope('name_scope'):
	var_a = tf.Variable(0, dtype=tf.int32)
	var_b = tf.Variable([1,2], dtype=tf.float32)
with tf.variable_scope('var_scope'):
	var_c = tf.Variable(0, dtype=tf.int32)
	var_d = tf.Variable([1,2], dtype=tf.float32)

# 打印输出
print(var_a.name)
print(var_b.name)
print(var_c.name)
print(var_d.name)

# out:
# name_scope/Variable:0
# name_scope/Variable_1:0
# var_scope/Variable:0
# var_scope/Variable_1:0


占位符:Placeholder

# 占位符
a = tf.plaveholder(tf.float32, shape=[3])
b = tf.placeholder(tf.bool,shape=[1,2])

# 打印
print(sess.run(a,feed_dict={a:[1,2,3]}))
print(sess.run([a,b],feed_dict={a:[1,2,3], b:[True,False]}))

#out:
#[1.2.3.]
#[array([1.2.3.],dtype=float32), array([[True, False]])]

Graph

# 获得前面定义的所有tensor
g = tf.get_default_graph
for op in g.get_operations():
	print(op.name)

# 得到特定tensor的值
what_is_this = g.get_tensor_by_name('Hello:0')	# 前提是存在名为Hello的tensor
print(what_id_this.eval())

可视化:

  1. 将图写入硬盘
with tf.Session() as sess:
	graph_writer = tf.summary.FileWriter('.', sess.graph)

完成后,当前目录出现events.*文件

  1. 在当前目录打开终端,键入命令
$ tensorboard --logdir=.

在命令行得到输出:

$ Tensorboard 0.1.8 at http://USERNAME:6006(Press CTRL+C to quit)
  1. 打开浏览器(最好用chrome,有些浏览器不适用),输入at后的链接http://USERNAME:6006,得到可视化后的图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值