zoukankan      html  css  js  c++  java
  • tensorflow中的矩阵生成与变换函数

    tensorflow中常用的矩阵生成与变换函数如下:

    1. 矩阵生成

    tf.ones | tf.zeros

    用法:tf.ones(shape,type=tf.float32,name=None) 

       tf.zeros(shape,type=tf.int32,name=None) 

    说明:生成全0/全1矩阵

    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

    tf.fill

    用法:tf.fill(shape,value,name=None) 

    说明:创建一个形状大小为shape的tensor,初始值为value

    tf.constant

    用法:tf.constant(value,dtype=None,shape=None,name=’Const’) 
    说明:创建一个常量tensor,按照给出value来赋值,可以用shape来指定其形状。value可以是一个数,也可以是一个list。 
    如果是一个数,那么这个常量中所有值的按该数来赋值。 
    如果是list,那么len(value)一定要小于等于shape展开后的长度。赋值时,先将value中的值逐个存入。不够的部分,则全部存入value的最后一个值。

    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]

    2. 矩阵变换

    tf.shape

    用法:tf.shape(Tensor) 
    说明:返回张量的形状。但是注意,tf.shape函数本身也是返回一个张量。而在tf中,张量是需要用sess.run(Tensor)来得到具体的值的

    
    

    tf.expand_dims

    用法:tf.expand_dims(Tensor, dim) 
    说明:为张量+1维。

    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: 缺省点的默认值

    tf.random_shuffle

    tf.random_shuffle(value,seed=None,name=None) 
    沿着value的第一维进行随机重新排列

    tf.equal

    tf.equal(x, y, name=None): 
    判断两个tensor是否每个元素都相等。返回一个格式为bool的tensor

    tf.cast

    cast(x, dtype, name=None) 
    将x的数据格式转化成dtype.例如,原来x的数据格式是bool,那么将其转化成float以后,就能够将其转化成0和1的序列。反之也可以

    tf.matmul

    用来做矩阵乘法。若a为l*m的矩阵,b为m*n的矩阵,那么通过tf.matmul(a,b) 结果就会得到一个l*n的矩阵 
    不过这个函数还提供了很多额外的功能。

    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的值。 

  • 相关阅读:
    springmvc 之 url映射restful 及 ant
    springmvc 之 处理方法的返回值类型
    springmvc 之 数据处理
    springmvc 之 使用注解开发springmvc
    springmvc 之 配置及流程
    springmvc 之 springmvc简介,开发步骤
    mybatis 之 mybatis整合spring
    mybatis 之 mybatis缓存
    mybatis 之 mybatis的映射
    SuperMap iClient3D for WebGL教程 水面特效制作
  • 原文地址:https://www.cnblogs.com/taich-flute/p/6600123.html
Copyright © 2011-2022 走看看