完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算。张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量、矢量和矩阵等都是特殊类型的张量。
TensorFlow 支持以下三种类型的张量:
t_1 = tf.constant(4) 一个形如 [1,3] 的常量向量可以用如下代码声明:t_2 = tf.constant([4,3,2]) 要创建一个所有元素为零的张量,可以使用 tf.zeros() 函数。这个语句可以创建一个形如 [M,N] 的零元素矩阵,数据类型(dtype)可以是 int32、float32 等:tf.zeros([M,N],tf.dtype) 例如:zero_t = tf.zeros([2,3],tf.int32) 还可以创建与现有 Numpy 数组或张量常量具有相同形状的张量常量,如下所示:# Results in an 2x3 array of zeros:[[0 0 0],[0 0 0]] 创建一个所有元素都设为 1 的张量。下面的语句即创建一个形如 [M,N]、元素均为 1 的矩阵: tf.ones([M,N],tf,dtype) 例如:ones_t = tf.ones([2,3],tf.int32) # Results in an 2x3 array of ones:[[1 1 1],[1 1 1]] 更进一步,还有以下语句:
TensorFlow 允许创建具有不同分布的随机张量:
注意:变量通常在神经网络中表示权重和偏置。 下面的代码中定义了两个变量的权重和偏置。权重变量使用正态分布随机初始化,均值为 0,标准差为 2,权重大小为 100×100。偏置由 100 个元素组成,每个元素初始化为 0。在这里也使用了可选参数名以给计算图中定义的变量命名:在前面的例子中,都是利用一些常量来初始化变量,也可以指定一个变量来初始化另一个变量。下面的语句将利用前面定义的权重来初始化 weight2: 变量的定义将指定变量如何被初始化,但是必须显式初始化所有的声明变量。在计算图的定义中通过声明初始化操作对象来实现: 每个变量也可以在运行图中单独使用 tf.Variable.initializer 来初始化: 保存变量:使用 Saver 类来保存变量,定义一个 Saver 操作对象: saver = tf.train.Saver() TensorFlow 占位符介绍完常量和变量之后,我们来讲解最重要的元素——占位符,它们用于将数据提供给计算图。可以使用以下方法定义一个占位符:tf.placeholder(dtype,shape=None,name=None) dtype 定占位符的数据类型,并且必须在声明占位符时指定。在这里,为 x 定义一个占位符并计算 y=2*x,使用 feed_dict 输入一个随机的 4×5 矩阵:解读分析需要注意的是,所有常量、变量和占位符将在代码的计算图部分中定义。如果在定义部分使用 print 语句,只会得到有关张量类型的信息,而不是它的值。 为了得到相关的值,需要创建会话图并对需要提取的张量显式使用运行命令,如下所示: print(sess.run(t_1)) 拓展阅读很多时候需要大规模的常量张量对象;在这种情况下,为了优化内存,最好将它们声明为一个可训练标志设置为 False 的变量:#Will print the value of t_1 defined in step 1 t_large = tf.Varible(large_array,trainable = False) TensorFlow 被设计成与 Numpy 配合运行,因此所有的 TensorFlow 数据类型都是基于 Numpy 的。使用 tf.convert_to_tensor() 可以将给定的值转换为张量类型,并将其与 TensorFlow 函数和运算符一起使用。该函数接受 Numpy 数组、Python 列表和 Python 标量,并允许与张量对象互操作。下表列出了 TensorFlow 支持的常见的数据类型: 请注意,与 Python/Numpy 序列不同,TensorFlow 序列不可迭代。试试下面的代码: for i in tf.range(10) 你会得到一个错误提示:#typeError("'Tensor'object id not iterable.") |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:00 , Processed in 0.364726 second(s), Total 40, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号