tensorflow中的矩阵生成与变换函数
来源:互联网 发布:淘宝退款影响店铺吗 编辑:程序博客网 时间:2024/04/27 23:29
一、矩阵生成
1、tf.ones | tf.zeros
用法
tf.ones(shape,type=tf.float32,name=None) tf.zeros(shape,type=tf.int32,name=None)
说明:生成全0/全1矩阵,返回一个tensor
input = tf.zeros([2,2])[[ 0. 0.] [ 0. 0.]]
input = tf.ones([3,3])[[ 1. 1. 1.] [ 1. 1. 1.] [ 1. 1. 1.]]
2、tf.ones_like | tf.zeros_like:
tf.ones_like(tensor,dype=None,name=None) tf.zeros_like(tensor,dype=None,name=None)
说明:生成与给定的tensor类型大小一致的tensor,其所有元素为1或0
3、tf.fill
tf.fill(shape,value,name=None)
说明:创建一个形状大小为shape的tensor,初始值为value
output = tf.fill([3,2],3)[[3 3] [3 3] [3 3]]
4、tf.constant
tf.constant(value,dtype=None,shape=None,name=’Const’)
创建一个常量tensor,按照给出value来赋值,可以用shape来指定其形状。value可以是一个数,也可以是一个list。
- 如果是一个数,那么这个常量中所有值的按该数来赋值。
- 如果是list,那么len(value)一定要小于等于shape展开后的长度。赋值时,先将value中的值逐个存入。不够的部分,则全部存入value的最后一个值。
output = tf.constant(3,dtype=tf.int8,shape=[2,4])[[3 3 3 3] [3 3 3 3]]output2 = tf.constant([1,2,3,4],dtype=tf.int8,shape=[2,4])[[1 2 3 4] [4 4 4 4]]
5、tf.random_normal | tf.truncated_normal | tf.random_uniform
tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None) tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32,seed=None,name=None)
说明:这几个都是用于生成随机数tensor的。尺寸是shape
random_normal: 正太分布随机数,均值mean,标准差stddev
truncated_normal:截断正态分布随机数,均值mean,标准差stddev,不过只保留[mean-2*stddev,mean+2*stddev]范围内的随机数
random_uniform:均匀分布随机数,范围为[minval,maxval]
二、矩阵变换
1、tf.shape
tf.shape(Tensor)
说明:返回张量的形状。但是注意,tf.shape函数本身也是返回一个张量。而在tf中,张量是需要用sess.run(Tensor)来得到具体的值的
output3 = tf.constant([1,2,3,4],dtype=tf.int8,shape=[2,4])output4 = tf.shape(output3)[2 4]
2、tf.expand_dims
tf.expand_dims(Tensor, dim)
说明:为张量+1维。
# 't' is a tensor of shape [2]shape(expand_dims(t, 0)) ==> [1, 2]shape(expand_dims(t, 1)) ==> [2, 1]shape(expand_dims(t, -1)) ==> [2, 1]# 't2' is a tensor of shape [2, 3, 5]shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]
3、tf.sparse_to_dense
def sparse_to_dense(sparse_indices, output_shape, sparse_values, default_value=0, validate_indices=True, name=None):
说明:稀疏矩阵转密集矩阵
sparse_indices: 元素的坐标[[0,0],[1,2]] 表示(0,0),和(1,2)处有值
output_shape: 得到的密集矩阵的shape
sparse_values: sparse_indices坐标表示的点的值,可以是0D或者1D张量。若0D,则所有稀疏值都一样。若是1D,则len(sparse_values)应该等于len(sparse_indices)
default_values: 缺省点的默认值
4、tf.random_shuffle
tf.random_shuffle(value,seed=None,name=None)
沿着value的第一维进行随机重新排列
5、tf.equal
tf.equal(x, y, name=None):
判断两个tensor是否每个元素都相等。返回一个格式为bool的tensor
6、tf.cast
cast(x, dtype, name=None)
将x的数据格式转化成dtype.例如,原来x的数据格式是bool,那么将其转化成float以后,就能够将其转化成0和1的序列。反之也可以
7、tf.matmul
用来做矩阵乘法。若a为l*m的矩阵,b为m*n的矩阵,那么通过tf.matmul(a,b) 结果就会得到一个l*n的矩阵
不过这个函数还提供了很多额外的功能。
8、tf.reshape
reshape(tensor, shape, name=None)
顾名思义,就是将tensor按照新的shape重新排列。一般来说,shape有三种用法:
如果 shape=[-1], 表示要将tensor展开成一个list
如果 shape=[a,b,c,…] 其中每个a,b,c,..均>0,那么就是常规用法
如果 shape=[a,-1,c,…] 此时b=-1,a,c,..依然>0。这表示tf会根据tensor的原尺寸,自动计算b的值。
- tensorflow中的矩阵生成与变换函数
- tensorflow中的矩阵生成(数据初始化)与变换函数
- D3D矩阵变换函数整理与说明
- 生成变换矩阵
- OpenGL中的矩阵变换
- Eigen中的变换矩阵
- opengl中的矩阵变换
- 坐标系与变换矩阵
- 矩阵与变换
- 坐标系与变换矩阵
- Tensorflow的常用矩阵生成
- OpenGL中的坐标变换、矩阵变换
- D3D中的矩阵变换公式
- 乱弹OpenGL中的矩阵变换
- OpenGL中的矩阵变换(上)
- OpenGL中的变换矩阵及自定义矩阵
- 生成函数与z变换?会不会有些相似?
- Tensorflow中矩阵运算函数
- 学习设计模式笔记--观察者模式
- 每天回顾linux命令(zip)
- 一步一步教你用 java生成二维码
- Linux 设置环境变量
- 使用setTimeout函数实现计时功能
- tensorflow中的矩阵生成与变换函数
- 改变网络接口速度和协商方式miitool和ethtool
- php mt_rand
- 网络编程基础(二)
- java通过Freemarker生成word的应用
- dom11clone
- cisco 通过tftp备份/恢复配置和3560交换机IOS升级
- redis cluster集群搭建
- Signals篇之后续实验部分