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

a1 = tf.tile(a, [2, 2]) 表示把a的第一个维度复制两次,第二个维度复制2次。
注意使用tf.nn.softmax(r, axis=0),表示对每一列取softmax,一定要注意维度,axis=0表示对列取softmax,不然数据会出错
 def tensoflow_test():
# 一个batch有20个样本,每个样本的长度为5,每一个为200维度
lstm_outpus = tf.truncated_normal(shape=[2, 5, 4], mean=0, stddev=1)
# 变形成二维
lstm_o = tf.reshape(lstm_outpus, shape=[-1, 4])
# 经过非线性
M = tf.tanh(lstm_o)
# 初始化权重信息
w = tf.truncated_normal(shape=[4,1], mean=0, stddev=1)
# 权重tf.matmul(M, w)
r = tf.matmul(M, w)
a = tf.nn.softmax(r, axis=0)
alpha = tf.tile(a, (1, 4))
# attention_res = lstm_o * alpha # M = tf.reshape(t, shape=[-1, 200])
# o = tf.Variable(tf.truncated_normal([1, 200]), name='w', dtype=tf.float32)
# a = tf.Variable(tf.truncated_normal([2,3]), dtype=tf.float32)
# b = tf.Variable(tf.truncated_normal([2,3]), dtype=tf.float32)
# a_b = tf.multiply(a,b)
# # a_b = a * b
# w = tf.transpose(o)
# res = tf.matmul(M, w)
# res2 = tf.reshape(res, shape=[-1, 5])
# copy_res = tf.tile(res2, (3,1))
# init_op = tf.global_variables_initializer() with tf.Session() as sess:
# sess.run(init_op)
# print(sess.run(res))
# print(sess.run(res2))
# print(res2)
# print(sess.run(copy_res))
# print(copy_res)
# print(sess.run(lstm_o))
# print(sess.run(lstm_outpus))
# print(sess.run(w))
print(lstm_outpus)
print(lstm_o)
print(alpha)
# print(sess.run(lstm_outpus))
print(sess.run([a, alpha]))
# print(sess.run(alpha))
# print(sess.run(alpha))
# print(sess.run(attention_res))

tensorflow的tile使用的更多相关文章

  1. TensorFlow学习笔记(一):数据操作指南

    扩充 TensorFlow tf.tile 对数据进行扩充操作 import tensorflow as tf temp = tf.tile([1,2,3],[2]) temp2 = tf.tile( ...

  2. [阿里DIN] 从模型源码梳理TensorFlow的乘法相关概念

    [阿里DIN] 从模型源码梳理TensorFlow的乘法相关概念 目录 [阿里DIN] 从模型源码梳理TensorFlow的乘法相关概念 0x00 摘要 0x01 矩阵乘积 1.1 matmul pr ...

  3. 【学习笔记】tensorflow基础

    目录 认识Tensorflow Tensorflow特点 下载以及安装 Tensorflow初体验 Tensorflow进阶 图 op 会话 Feed操作 张量 变量 可视化学习Tensorboard ...

  4. tensorflow函数/重要功能实现

    一.基础函数 1.1 .tf.reduce_sum(input_tensor, axis)   Computes the sum of elements across dimensions of a ...

  5. Tensorflow --BeamSearch

    github:https://github.com/zle1992/Seq2Seq-Chatbot 1. 注意在infer阶段,需要需要reuse, 2.If you are using the Be ...

  6. 第七节,TensorFlow编程基础案例-TensorBoard以及常用函数、共享变量、图操作(下)

    这一节主要来介绍TesorFlow的可视化工具TensorBoard,以及TensorFlow基础类型定义.函数操作,后面又介绍到了共享变量和图操作. 一 TesnorBoard可视化操作 Tenso ...

  7. tensorflow faster rcnn 代码分析一 demo.py

    os.environ["CUDA_VISIBLE_DEVICES"]=2 # 设置使用的GPU tfconfig=tf.ConfigProto(allow_soft_placeme ...

  8. 深度学习原理与框架-递归神经网络-RNN_exmaple(代码) 1.rnn.BasicLSTMCell(构造基本网络) 2.tf.nn.dynamic_rnn(执行rnn网络) 3.tf.expand_dim(增加输入数据的维度) 4.tf.tile(在某个维度上按照倍数进行平铺迭代) 5.tf.squeeze(去除维度上为1的维度)

    1. rnn.BasicLSTMCell(num_hidden) #  构造单层的lstm网络结构 参数说明:num_hidden表示隐藏层的个数 2.tf.nn.dynamic_rnn(cell, ...

  9. Tensorflow基本概念

    [本文摘自网络,仅供学习使用] 官网上对TensorFlow的介绍是,一个使用数据流图(data flow graphs)技术来进行数值计算的开源软件库.数据流图中的节点,代表数值运算:节点节点之间的 ...

随机推荐

  1. 12C新特性 -- 共享asm口令文件

    12C中,ASM口令文件,可以提供本地.远程登录asm的验证.当然,要想使用asm口令文件验证,必须为每个asm创建一个口令文件. 如果是使用asm存储,asmca在配置asm磁盘组的会后,会自动为a ...

  2. 12C -- DDL日志

    DDL日志和alert日志有相似的格式和行为.但是只包含DDL语句日志.oracle只是为数据库组件提供DDL日志,且需要将参数enable_ddl_logging设置为true. 在DDL日志中,每 ...

  3. android 开发小工具收集

    http://blog.csdn.net/tikitoo/article/details/51089422

  4. jsonp的工作原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 如何快速学习Scala

    大数据学习过程中,会学习非常多的技术,但SCALA无疑是必不可少,那我们在大数据技术的学习过程中,如何快速的认识scala,并且学习它,感谢科多大数据公司的余老师提供的详细素材,本人整理成章,希望对你 ...

  6. CefSharp 封装自己的简单H5浏览器 详细配置

    下载了最新的CefSharp源码,发现在自己机器可以运行,到普通的WIN7系统 报了  System.IO.FileNotFoundException: Could not load file or  ...

  7. 【转载】Ubuntu安装之,硬盘分区

    关于分区 如果你只是简单地想用上Ubuntu,可以这样操作:1)如果你是直接将整个硬盘都用来装Ubuntu,机器上没有需要保存的数据,或者已经做好备份的情况下,可以直接在Ubuntu分区时选择“向导─ ...

  8. Python3数字(Number)

    一.数学函数 二.随机数函数 三.三角函数 四.数学常量

  9. CentOS7 yum方式安装MariaDB 10.2.13-1

    注:以下步骤都是以root身份运行. 一.建立mariadb.repo 1,编辑新文件,命令:vim  /etc/yum.repos.d/mariadb.repo 2,输入如下内容,保存退出 [mar ...

  10. Win 10来袭,人工智能女将打头阵

    7月1日,微软小冰身"考官",其姐姐微软小娜(Cortana)解锁"科技动态"功能,为即将来临的Win 10打头阵. 中国IT产业界从来没有见过这样的阵势,难于 ...