简介
深度学习需要熟悉使用一个框架,本人选择了TensorFlow,一边学习一边做项目,下面简要介绍TensorFlow中的基本常量、变量和运算操作,参考斯坦福大学的cs20si和TensorFlow官网API。
常量
tf.constant()
tf.constant(value, dtype=None, shape=None, name='Const', verify_shape=False),value为值,dtype类型,shape为张量形状,name名称、verify_shape默认False,这些项可选。作用创建一个常量。
a = tf.constant(2, name="a") # print(a) = 2 b = tf.constant(2.0, dtype=tf.float32, shape=[2,2], name="b") # 2x2矩阵,值为2 c = tf.constant([[1, 2], [3, 4]], name="c") # 2x2矩阵,值1,2,3,4
tf.zeros()和tf.zeros_like()
tf.zeros(shape, dtype=tf.float32, name=None), shape为张量形状,dtype类型,name名称。创建一个值为0的常量。
a = tf.zeros(shape=[2, 3], dtype=tf.int32, name='a') # 2x3矩阵,值为0, a = [[0, 0, 0], [0, 0, 0]]
tf.zeros_like(input_tensor, dtype=None, name=None, optimize=True),input_tensor为张量,dtype类型,name名称,optimize优化。根据输入张量创建一个值为0的张量,形状和输入张量相同。
input_tensor = tf.constant([[1,2], [3,4], [5,6]) a = tf.zeros_like(input_tensor) # a = [[0, 0], [0, 0], [0, 0]]
tf.ones()和tf.ones_like()
tf.ones(shape, dtype=tf.float32, name=None),与tf.zeros()类似。
tf.ones_like(input_tensor, dtype=None, name=None, optimize=True),与tf.zeros_like()类似。
tf.fill()
tf.fill(dims, value, name=None), dims为张量形状,同上述shape,vlaue值,name名称。作用是产生一个张量,用一个具体值充满张量。
a = tf.fill([2,3], 8) # 2x3矩阵,值为8
tf.linspace()
tf.linspace(start, stop, num, name=None),start初始值,stop结束值,num数量,name名称。作用是产生一个等差数列一维向量,个数是num,初始值start、结束值stop。
a = tf.linspace(10.0, 13.0, 4) # a = [10.0 11.0 12.0 13.0]
tf.range()
tf.range(start=0, limit=None, delta=1, dtype=None, name='range'),start初始值,limit限制,delta增量,dtype类型,name名称。作用是产生一个等差数列的一维向量,初始值start,公差delta,结束值小于limit。
a = tf.range(start, limit, delta) # a = [3, 6, 9, 12, 15] b = tf.range(5) # b = [0, 1, 2, 3, 4]
tf.random_normal()
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None), shape张量形状,mean均值,stddev标准差,dtype类型,seed随机种子,name名称。作用是产生一个正太分布分布,均值为mean,标准差为stddev。
tf.truncated_normal()
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None,name=None),shape张量形状,mean均值,stddev标准差,dtype类型,seed随机种子,name名称。作用是产生一个截断的正太分布,形状为shape,均值为mean,标准差为stddev。
tf.random_uniform()
tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None,name=None),shape张量形状,minval最小值,maxval最大值,dtype类型,seed随机种子,name名称。作用是产生一个均匀分布,形状为shape,最小值为minval,最大值为maxval。
tf.random_shuffle()
tf.random_shuffle(value, seed=None, name=None),value张量,seed随机种子,name名称。作用是将张量value里面的值随机打乱。
a = tf.constant([[1,2],[3,4]],name='a') b = tf.random_shuffle(a, name='b') # b = [[2,3], [1,4]]
tf.random_crop()
tf.random_crop(value, size, seed=None, name=None),value张量,size大小,seed随机种子,name名称。作用是将张量value随机裁剪成size形状大小的张量,value形状大小>=size。
tf.multinomial()
tf.multinomial(logits, num_samples, seed=None, name=None), logits张量,num_samples采样输出,seed随机种子,name名称。作用是根据概率分布的大小,随机返回对应维度的下标序号。
a = tf.constant([[1, 2, 3, 4, 1], [3, 2, 3, 4, 3]], name='a') b = tf.multinomial(a, 1, name='b') # b = [0, 0]或者[0, 2]或者[4, 4]
tf.random_gamma()
tf.random_gamma(shape, alpha, beta=None, dtype=tf.float32, seed=None, name=None)。作用是产生一个Gamma分布。
变量
tf.Variable()
tf.Variable(<initial-value>, name=<optional-name>),变量可以根据直接赋值,如a、b、c,也可以根据构造函数赋值,如W、Z。
a = tf.Variable(2, name="scalar") b = tf.Variable([2, 3], name="vector") c = tf.Variable([[0, 1], [2, 3]], name="matrix") W = tf.Variable(tf.zeros([784,10]), name="weights") Z = tf.Variable(tf.random_normal([784, 10], mean=0, stddev=0.01), name="Z"
tf.Variable().initializer
1.全局变量初始化
init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init)
2.指定变量初始化
W = tf.Variable(tf.truncated_normal([700, 10])) with tf.Session() as sess: sess.run(W.initializer) print(W) # Tensor("Variable/read:0", shape=(700, 10), dtype=float32)
tf.Variable().eval()
返回变量值。
W = tf.Variable(tf.truncated_normal([700, 10])) with tf.Session() as sess: sess.run(W.initializer) print(W.eval()) [[-0.76781619 -0.67020458 1.15333688 ..., -0.98434633 -1.25692499 -0.90904623] [-0.36763489 -0.65037876 -1.52936983 ..., 0.19320194 -0.38379928 0.44387451] [ 0.12510735 -0.82649058 0.4321366 ..., -0.3816964 0.70466036 1.33211911] ..., [ 0.9203397 -0.99590844 0.76853162 ..., -0.74290705 0.37568584 0.64072722] [-0.12753558 0.52571583 1.03265858 ..., 0.59978199 -0.91293705 -0.02646019] [ 0.19076447 -0.62968266 -1.97970271 ..., -1.48389161 0.68170643
tf.Variable.assign()
直接调用assign()并不起作用,它是一个操作,需要sess.run()操作才能起效果。
W = tf.Variable(10) W.assign(100) with tf.Session() as sess: sess.run(W.initializer) print(W.eval()) # 10
W = tf.Variable(10) assign_op = W.assign(100) with tf.Session() as sess: # sess.run(W.initializer) # 当变量有值的话,可以省略,不需要初始化 sess.run(assign_op) print W.eval() # 100
运算操作
运算操作图
tf.multiply()和tf.matmul()
tf.multiply(x, y, name)作用是x, y逐项相乘。
tf.matmul(x, y, name)作用是x,y矩阵相乘。
a = tf.constant([3, 6]) b = tf.constant([2, 2]) c1 = tf.matmul(a, b) # 报错 c2 = tf.matmul(tf.reshape(a, [1, 2]), tf.reshape(b, [2, 1]))# c2 = [[18]] c3 = tf.multiply(a, b) # c3 = [6, 12]
加减就不细说了。
结束语
总结了一些常用的常量、变量和操作运算,供大家参考,尤其是对于tensorflow和python不太熟悉的选手有帮助,后续会补充更新,希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 明达年度发烧碟MasterSuperiorAudiophile2021[DSF]
- 英文DJ 《致命的温柔》24K德国HD金碟DTS 2CD[WAV+分轨][1.7G]
- 张学友1997《不老的传说》宝丽金首版 [WAV+CUE][971M]
- 张韶涵2024 《不负韶华》开盘母带[低速原抓WAV+CUE][1.1G]
- lol全球总决赛lcs三号种子是谁 S14全球总决赛lcs三号种子队伍介绍
- lol全球总决赛lck三号种子是谁 S14全球总决赛lck三号种子队伍
- 群星.2005-三里屯音乐之男孩女孩的情人节【太合麦田】【WAV+CUE】
- 崔健.2005-给你一点颜色【东西音乐】【WAV+CUE】
- 南台湾小姑娘.1998-心爱,等一下【大旗】【WAV+CUE】
- 【新世纪】群星-美丽人生(CestLaVie)(6CD)[WAV+CUE]
- ProteanQuartet-Tempusomniavincit(2024)[24-WAV]
- SirEdwardElgarconductsElgar[FLAC+CUE]
- 田震《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- BEYOND《大地》24K金蝶限量编号[低速原抓WAV+CUE][986M]
- 陈奕迅《准备中 SACD》[日本限量版] [WAV+CUE][1.2G]