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} )