• tensorflow学习笔记(三)常用函数


    上一篇简单介绍了tensorflow的基本操作,这一篇介绍一些常用的函数。

    • tf.constant()

      tf.constant ( 
          value ,           
          dtype = None , 
          shape = None , 
          name = 'Const' , 
          verify_shape = False 
      )  
      value:类型是dtype的常量值(常用)
      dtype:张量元素的类型
      shape:张量的形状
      name:张量的可选名称
      verify_shape:布尔值可以验证数值的形状(不常用)
      返回:常数张量

      用来创建常数张量,value和shape一般不一块使用。
      t_1 = tf.constant([1, 2, 3, 4])  # 返回张量[1, 2, 3, 4]
      t_2 = tf.constant(-1, shape=[2,3])  # 返回张量[[-1,-1,-1], [-1,-1,-1]]
    • tf.Variable()

      定义变量
      v_1 = tf.Variable([0, 0, 0])
    • tf.eye()

      创建tensorflow单位矩阵

      tf.eye(
          num_rows,
          num_columns=None,
          batch_shape=None,
          dtype=tf.float32,
          name=None
      )
      

      num_rows:单位矩阵行数
      num_colums:单位矩阵的列数,默认等于行数
      batch_shape:如果提供,返回的张量将具有该形状的主要批次维度
      返回:一定形状的单位阵

      tf.eye(2)
      >>[[1, 0],
         [0, 1]]
      
      tf.eye(2, 3)
      >>[[1, 0, 0], 
         [0, 1, 0]]
      
    • tf.zeros()创建一定形状的零矩阵

      tf.zeros(
          shape,
          dtype=tf.float32,
          name=None
      )
      

      shape:矩阵的形状
      返回:元素全零张量

    • tf.shape([2, 3])
      >>[[0, 0, 0],
         [0, 0, 0]]
      
    • tf.zeros_like()

      创建与某个张量形状一样的全零张量
      tf.zeros_like(
          tensor,
          dtype=None,
          name=None,
          optimize=True
      )
      

      tensor:一个tf 张量,会创建与这个张量形状一样的全零张量
      optimize:如果为true,则尝试静态确定“张量”的形状并将其编码为常量
      返回:元素全零张量

      tensor = tf.constant([[1, 2, 3], [4, 5, 6]])
      tf.zeros_like(tensor)  # [[0, 0, 0], [0, 0, 0]],与tensor的形状相同
      
    • tf.ones()

      创建元素是全是1的张量
      tf.ones(
          shape,
          dtype=tf.float32,
          name=None
      )
      
    • tf.ones_like()

      创建与某个张量形状相同的全1张量,参数与 zeres_like() 相同
      ones_like(
          tensor,
          dtype=None,
          name=None,
          optimize=True
      )
      
    • tf.linspace() / tf.lin_space() 

      两个函数相同,只是个别名,创建在一定范围内从初值到终值等差分布的数列的n个数
      lin_space(
          start,
          stop,
          num,
          name=None
      )
      

      start:范围的开始值,必须是以下类型之一:float32,float64
      stop:范围的结束值,必须和start类型相同
      num:数的个数
      返回:一个等差排列的张量

      tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0  11.0  12.0]
      
    • tf.range()

      创建从a到b的增量是n的等差数列,不包括b,默认a是0,默认n是1
      tf.range(limit, delta=1, dtype=None, name='range')
      tf.range(start, limit, delta=1, dtype=None, name='range')
      

      参数两种形式,如果没给start 只给limit,默认是start0;如果给了start 和limit ,就创建从start到limit的等差数列。增量默认是1。
      返回一维张量。

      tf.range(3)  => [0, 1, 2]
      tf.range(1, 5)   => [1, 2, 3, 4]
      tf.range(3, 18, 3)    => [3, 6, 9, 12, 15]
      
  • 相关阅读:
    【Java】《Java程序设计基础教程》第三章学习
    【Python】编程小白的第一本python(最基本的魔法函数)
    【Python】编程小白的第一本python(基础中的基础)
    bootstrap中的col-xs-*,col-sm-*,col-md-* 关系
    java基础面试题总结
    人生中第一次面试(阿里一面)
    阿里云服务器ip:端口号无法访问
    redis基本指令
    linux基本指令
    centos安装redis
  • 原文地址:https://www.cnblogs.com/panda-blog/p/12305786.html
Copyright © 2020-2023  润新知