• tensorflow的tile使用


    当你需要按照矩阵维度复制数据时候,可以使用tensorflow的tile函数

    a1 = tf.tile(a, [2, 2]) 表示把a的第一个维度复制两次,第二个维度复制2次。
    注意使用tf.nn.softmax(r, axis=0),表示对每一列取softmax,一定要注意维度,axis=0表示对列取softmax,不然数据会出错
     1 def tensoflow_test():
     2     # 一个batch有20个样本,每个样本的长度为5,每一个为200维度
     3     lstm_outpus = tf.truncated_normal(shape=[2, 5, 4], mean=0, stddev=1)
     4     # 变形成二维
     5     lstm_o = tf.reshape(lstm_outpus, shape=[-1, 4])
     6     # 经过非线性
     7     M = tf.tanh(lstm_o)
     8     # 初始化权重信息
     9     w = tf.truncated_normal(shape=[4,1], mean=0, stddev=1)
    10     # 权重tf.matmul(M, w)
    11     r = tf.matmul(M, w)
    12     a = tf.nn.softmax(r, axis=0)
    13     alpha = tf.tile(a, (1, 4))
    14     # attention_res = lstm_o * alpha
    15 
    16     # M = tf.reshape(t, shape=[-1, 200])
    17     # o = tf.Variable(tf.truncated_normal([1, 200]), name='w', dtype=tf.float32)
    18     # a = tf.Variable(tf.truncated_normal([2,3]), dtype=tf.float32)
    19     # b = tf.Variable(tf.truncated_normal([2,3]), dtype=tf.float32)
    20     # a_b = tf.multiply(a,b)
    21     # # a_b = a * b
    22     # w = tf.transpose(o)
    23     # res = tf.matmul(M, w)
    24     # res2 = tf.reshape(res, shape=[-1, 5])
    25     # copy_res = tf.tile(res2, (3,1))
    26     # init_op = tf.global_variables_initializer()
    27 
    28     with tf.Session() as sess:
    29         # sess.run(init_op)
    30         # print(sess.run(res))
    31         # print(sess.run(res2))
    32         # print(res2)
    33         # print(sess.run(copy_res))
    34         # print(copy_res)
    35         # print(sess.run(lstm_o))
    36         # print(sess.run(lstm_outpus))
    37         # print(sess.run(w))
    38         print(lstm_outpus)
    39         print(lstm_o)
    40         print(alpha)
    41         # print(sess.run(lstm_outpus))
    42         print(sess.run([a, alpha]))
    43         # print(sess.run(alpha))
    44         # print(sess.run(alpha))
    45         # print(sess.run(attention_res))
  • 相关阅读:
    CDH中flume是已经启动着了…
    CDH中,执行HIVE脚本表联查权限问题。。
    linux screen 命令详解(未验证+研究)
    004ICMP-type对应表
    003iptables 命令介绍
    002利用zabbix监控某个目录大小
    Nginx图片剪裁模块探究 http_image_filter_module
    linux增加自定义path和manpath
    TortoiseSVN中图标的含义
    Linux SVN 搭建(YUM)安装
  • 原文地址:https://www.cnblogs.com/demo-deng/p/10132643.html
Copyright © 2020-2023  润新知