Python tensorflow函数tf.get_variable有什么用

Admin 2022-09-16 群英技术资讯 317 次浏览

本篇内容介绍了“Python tensorflow函数tf.get_variable有什么用”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

参数数量及其作用

该函数共有十一个参数,常用的有:

名称 name

变量规格 shape

变量类型 dtype

变量初始化方式 initializer

所属于的集合 collections

 def get_variable(name,
                  shape=None,
                  dtype=None,
                  initializer=None,
                  regularizer=None,
                  trainable=True,
                  collections=None,
                  caching_device=None,
                  partitioner=None,
                  validate_shape=True,
                  use_resource=None,
                  custom_getter=None):

该函数的作用是创建新的tensorflow变量

常见的initializer有:

常量初始化器 tf.constant_initializer

正太分布初始化器 tf.random_normal_initializer

截断正态分布初始化器 tf.truncated_normal_initializer

均匀分布初始化器 tf.random_uniform_initializer

例子

该例子将分别讲述常见的几种initializer的使用方法

 import tensorflow as tf;  
 import numpy as np;  
 #常量初始化器
 v1_cons = tf.get_variable('v1_cons', shape=[1,4], initializer=tf.constant_initializer())
 v2_cons = tf.get_variable('v2_cons', shape=[1,4], initializer=tf.constant_initializer(9))
 #正太分布初始化器
 v1_nor = tf.get_variable('v1_nor', shape=[1,4], initializer=tf.random_normal_initializer())
 v2_nor = tf.get_variable('v2_nor', shape=[1,4], initializer=tf.random_normal_initializer(mean=0, stddev=5, seed=0))#均值、方差、种子值
 #截断正态分布初始化器
 v1_trun = tf.get_variable('v1_trun', shape=[1,4], initializer=tf.truncated_normal_initializer())
 v2_trun = tf.get_variable('v2_trun', shape=[1,4], initializer=tf.truncated_normal_initializer(mean=0, stddev=5, seed=0))#均值、方差、种子值
 #均匀分布初始化器
 v1_uni = tf.get_variable('v1_uni', shape=[1,4], initializer=tf.random_uniform_initializer())
 v2_uni = tf.get_variable('v2_uni', shape=[1,4], initializer=tf.random_uniform_initializer(maxval=-1., minval=1., seed=0))#最大值、最小值、种子值
 with tf.Session() as sess:
     sess.run(tf.global_variables_initializer())
     print("常量初始化器v1_cons:",sess.run(v1_cons))
     print("常量初始化器v2_cons:",sess.run(v2_cons))
     print("正太分布初始化器v1_nor:",sess.run(v1_nor))
     print("正太分布初始化器v2_nor:",sess.run(v2_nor))
     print("截断正态分布初始化器v1_trun:",sess.run(v1_trun))
     print("截断正态分布初始化器v2_trun:",sess.run(v2_trun))
     print("均匀分布初始化器v1_uni:",sess.run(v1_uni))
     print("均匀分布初始化器v2_uni:",sess.run(v2_uni))

其输出为:

 常量初始化器v1_cons: [[0. 0. 0. 0.]]
 常量初始化器v2_cons: [[9. 9. 9. 9.]]
 正太分布初始化器v1_nor: [[-0.7286455  -0.03095582  1.6400269  -0.90134907]]
 正太分布初始化器v2_nor: [[-1.9957879 10.522196   0.8553612  2.7325907]]
 截断正态分布初始化器v1_trun: [[-0.52284956 -0.77045     1.9507815   0.96106136]]
 截断正态分布初始化器v2_trun: [[-1.9957879  0.8553612  2.7325907  2.1127698]]
 均匀分布初始化器v1_uni: [[0.5369104  0.05912018 0.1587832  0.2859378 ]]
 均匀分布初始化器v2_uni: [[ 0.79827476 -0.9403336  -0.69752836  0.9034374 ]]

到此,关于“Python tensorflow函数tf.get_variable有什么用”的学习就结束了,希望能够解决大家的疑惑,另外大家动手实践也很重要,对大家加深理解和学习很有帮助。如果想要学习更多的相关知识,欢迎关注群英网络资讯站,小编每天都会给大家分享实用的文章!

群英智防CDN,智能加速解决方案
标签: tensorflow

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服