Tensorflow - Tensor张量(常量,变量,占位符)理解

常量 constant

tf.constant()函数定义:

def constant(value, dtype=None, shape=None, name="Const", verify_shape=False)

  • value: 符合tf中定义的数据类型的常数值或者常数列表;
  • dtype:数据类型,可选;
  • shape:常量的形状,可选;
  • name:常量的名字,可选;
  • verify_shape:常量的形状是否可以被更改,默认不可更改;

 constant()函数提供在tensorflow中定义常量(不可更改的张量)的方法。

eg:

tensor_constant1 = tf.constant([1,2,3,4])

变量 Variable 

tensorflow中的变量是通过Variable类来实现的,类初始化函数为tf.Variable():

def __init__(self,
               initial_value=None,
               trainable=True,
               collections=None,
               validate_shape=True,
               caching_device=None,
               name=None,
               variable_def=None,
               dtype=None,
               expected_shape=None,
               import_scope=None)

tensorflow中的可以改变的量包括训练过程中的输入数据,输出数据以及控制从输入到输出的学习机制(具体体现为网络参数),输入输出数据在tf中是用placeholder占位符定义的,tf的学习机制使用变量来表示。 

注意:变量通常在神经网络中表示权重和偏置。

 

占位符 placeholder

tf.placeholder()函数定义:

def placeholder(dtype, shape=None, name=None)

  • dtype:表示tensorflow中的数据类型,如常用的tf.float32,tf.float64等数值类型;dtype 定占位符的数据类型,并且必须在声明占位符时指定
  • shape:表示数据类型,默认的None是一个一维的数值,shape=[None,5],表示行不定,列是5;
  • name:张量名称;

placeholder()又叫占位符,用于声明一个张量的数据格式,告诉系统这里会有一个这种格式的张量,但是还没有给定具体数值,具体的数值要在正式运行的时候给到。占位变量是一种TensorFlow用来解决读取大量训练数据问题的机制.  它允许你现在不用给它赋值,随着训练的开始,再把训练数据传送给训练网络学习。

你可能感兴趣的:(Tensorflow - Tensor张量(常量,变量,占位符)理解)