TensorFlow的常量、变量、常用函数(一)

TensorFlow常用函数(一)

(1)tf.variable_scope('namespace')和tf.name_scope('namespace'):返回一个用于定义创建variable(层)的op的上下文管理器,相当于给下面的变量定义了一个命名空间,在这个with下面的所有节点会自动命名为:namespace/xxxx这样的格式

(2)tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=None,data_format=None, name=None):卷积操作

(3)tf.layers.conv2d(inputs,filters,kernel_size,strides=(1, 1), activation=None, padding='valid',    use_bias=True, kernel_initializer=None,bias_initializer=tf.zeros_initializer())):卷积操作

(4)激活函数比较:tf.nn.relu()、tf.nn.sigmoid()、tf.nn.tanh()、tf.nn.bias_add()、tf.nn.dropout():

(5)池化函数:tf.nn.avg_pool()、tf.nn.max_pool()

(6)tf.nn.conv2d_transpose():反卷积函数

(7)tf.nn.atrous_conv2d(value, filters, rate, padding, name=None):空洞卷积

(8)tf.Session.run(fetches,feed_dict=None,options=None,run_metadata=None):

(9)tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)和tf.nn.sparse_softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None):求两个分布的交叉熵


下一篇:TensorFlow常用函数(二)


1、创建tensor常量

(1)tf.constant(或tf.constant_initializer)创建常量:

      函数原型:tf.constant(value,dtype=None,shape=None,name='Const',verify_shape=False)
      tensor = tf.constant([1, 2, 3, 4, 5, 6, 7])   --->[1, 2, 3, 4, 5, 6, 7]
      tensor = tf.constant(-1.0, shape=[2, 3])   --->[[-1. -1. -1.] [-1. -1. -1.]]
      tensor=tf.constant(np.arange(10),dtype = tf.float32,shape = [2,5],name = "constant")
      -->[[0. 1. 2. 3. 4.] [5. 6. 7. 8. 9.]]

(2)tf.zeros(或tf.zeros_initializer)、tf.ones(或tf.ones_initializer)创建常量

       tensor=tf.zeros((2,3),dtype = tf.float32,name = None)
      -->[[0. 0. 0.] [0. 0. 0.]]
      tensor=tf.ones((2,3),dtype = tf.float32,name = None)
      -->[[1. 1. 1.] [1. 1. 1.]]

(3)递增序列创建常量

      tf.linspace(start,stop,num,name = None )
      tf.range(start,limit,delta = 1,name = "range")
      tensor=tf.linspace(0.0,10.0,11)--->[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
      tensor=tf.range(0.0,5.0,delta = 1,name = "range")--->[0. 1. 2. 3. 4.]

(4)创建特殊分布的常量(tf.random_normal_initializer()、tf.truncated_normal_initializer()、tf.random_uniform_initializer()、tf.random_shuffle_initializer())

      tf.random_normal(shape,mean = 0,stddev = 1,dtype = tf.float32,seed = None,name = None)
      tf.truncated_normal(shape,mean = 0,stddev = 1,dtype = tf.float32,seed = None,name = None)

      这两函数都是生成正态随机数,区别是truncated在生成随机数后,如果随机数在两倍标准差之外,就重新生成一个,直到生成最终结果。参数中shape为一个列表,表示形状,mean和stddev分别标书均值和标准差,seed为随机数种子。和其他python随机语法一样,固定seed以后,生成的随机数将不变。
      tf.random_uniform(shape,minval = 0.0,maxval = 1.0,dtype = tf.float32,seed = None):这个函数生成从0到1中平均分布的数值。   
      tf.random_shuffle(value,seed = None,name = None):传入一个tensor,然后将这个rensor进行随机洗牌。

(5)使用numpy的数组来创建

     x = np.array([[[11, 21, 31],[41, 51, 61]]])
     tensor= tf.convert_to_tensor(x, dtype = tf.float32)

     -->[[[11. 21. 31.]  [41. 51. 61.]]]

2、tensor变量的创建、保存、读取

     tensorflow中变量一般用来用来描述学习的参数,tensorflow变量需要先进行初始化,然后才可以使用,变量也可以进行分享与保存,变量部分主要有新建、初始化、保存与读取、分享、更新几个部分。

(1)tensorflow中有两个关于variable的op,tf.Variable()与tf.get_variable():

       1)tf.Variable(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)

     2) tf.get_variable(name, shape=None, dtype=None, initializer=None, regularizer=None, trainable=True, collections=None, caching_device=None, partitioner=None, validate_shape=True, custom_getter=None)

     init_value为其初始化值,可以传入数值,列表,numpy数组,tf的tensor等,init_value必须含有shape,如果没有,validate_shape必须设置为False,但是对一个变量来说,最好使用固定结构的变量。trainable默认为True。这两个函数的区别如下:  使用tf.Variable时,如果检测到命名冲突,系统会自己处理。使用tf.get_variable()时,系统不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值