Tensorflow基础--创建张量、变量及占位符

Tensorflow介绍

Google的Tensorflow引擎提供了一种解决机器学习问题的高效方法。机器学习在各个行业应用广泛,特别是计算机视觉、语音识别、语言翻译和健康医疗等领域。

创建张量

首先引入tensorflow

import  tensorflow as tf

创建指定维度的零张量

print('零张量'.center(50,'-'))
zero_tsr = tf.zeros([3,3])

创建指定维度的单位张量

print('单位张量'.center(50,'-'))
one_tsr = tf.ones([3,3])

创建指定维度的常数填充张量,这里填充数为50

print('指定维度常数张量'.center(50,'-'))
filled_tsr = tf.fill([3,3],50)

创建常数张量

print('已知常数张量'.center(50,'-'))
constant_tsr = tf.constant([1,3,3])

创建序列张量 

注意内容为0.0为float格式,若为0则报错

print('序列张量'.center(50,'-'))
linear_tsr = tf.linspace(start=0.0,stop=1.0,num=3)#[0,0.5,1.0]

另外一个例子是tf.range函数,这里给出范围不包含limit

integer_seq_tsr = tf.range(start=6,limit=15,delta=3)#[6,9,12]不包含15

生成均匀分布随机数

randunif_tsr = tf,random_uniform([3,5])

张量/数组随机化

shuffled_output = tf.random_shuffle(input_tensor)
cropped_output = tf.random_crop(input_tensor,crop_size)

使用占位符及变量

变量是TensorFlow机器学习算法的参数,TensorFlow通过改变或者调整这些变量的状态来优化机器学习算法

占位符则是TensorFlow对象,用于表示输入输出数据的格式。占位符仅仅声明数据的格式和位置,用于传入数据到计算图中。

创建变量

zero_tsr = tf.zeros(5,10)
my_var = tf.Variable(zero_tsr)

这里的tf.Variable即为创建变量的语句

再完成变量创建以后,通常会对变量进行初始化,当然我们可以通过以下命令,一次性初始化所有变量

sess = tf.Session()
initialize_op = tf.global_variables_initializer()
sess.run(initialize_op)

当然我们亦可以只初始化某个变量

second_var = tf.Variable(tf.ones_like(my_var))#依赖于第一个变量的初始化
sess.run(second_var.initializer)

创建占位符

创建占位符通过tf.placeholder函数实现,其中tf.float32表示数据类型,shape = [2,2]表示数据格式为2*2的张量

x = tf.placeholder(tf.float32,shape=[2,2])

下面我们向占位符中导入数据

y=tf.indentity(x)返回占位符传入数据本身

x_vars是随机产生的数据

我们通过feed_dict参数获取数据,注意里面的格式为字典格式,x表示之前的占位符,x_vars表示传给占位符的数据,注意这两个的数据格式相同,均为(2,2)

y = tf.identity(x)
x_vars = np.random.rand(2,2)
print(x_vars)
sess.run(y,feed_dict = {x:x_vars} )






你可能感兴趣的:(机器学习,Tensorflow)