tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
如下所示:
# u [32,30,200] # u_logits [400,32,30] q_j_400 = [] for j in range(400): q_j_400.append(tf.squeeze(tf.matmul(tf.transpose(u,[0,2,1]),tf.expand_dims(tf.nn.softmax(u_logits[j]),-1)),[2])) # tf.matmul [32,200,30],[32,30,1] test_result = tf.stack(q_j_400) test_result = tf.transpose(test_result,[1,0,2])
可以通过tf.tile实现更高速的版本
# u [32,30,200] # u_logits [32,400,30] u_tile = tf.tile(tf.expand_dims(u,1),[1,400,1,1]) u_logits = tf.expand_dims(tf.nn.softmax(u_logits,-1),-1) test_result = tf.reduce_sum(u_logits * u_tile,-2) # [32,400,30,1]*[32,400,30,200]
以上这篇tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Tensorflow中使用tfrecord方式读取数据的方法
前言 本博客默认读者对神经网络与Tensorflow有一定了解,对其中的一些术语不再做具体解释.并且本博客主要以图片数据为例进行介绍,如有错误,敬请斧正. 使用Tensorflow训练神经网络时,我们可以用多种方式来读取自己的数据.如果数据集比较小,而且内存足够大,可以选择直接将所有数据读进内存,然后每次取一个batch的数据出来.如果数据较多,可以每次直接从硬盘中进行读取,不过这种方式的读取效率就比较低了.此篇博客就主要讲一下Tensorflow官方推荐的一种较为高效的数据读取方式--tfre
-
对Tensorflow中的矩阵运算函数详解
tf.diag(diagonal,name=None) #生成对角矩阵 import tensorflowas tf; diagonal=[1,1,1,1] with tf.Session() as sess: print(sess.run(tf.diag(diagonal))) #输出的结果为[[1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]] tf.diag_part(input,name=None) #功能与tf.diag函数相反,返回对角阵的对角元素 imp
-
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
如下所示: # u [32,30,200] # u_logits [400,32,30] q_j_400 = [] for j in range(400): q_j_400.append(tf.squeeze(tf.matmul(tf.transpose(u,[0,2,1]),tf.expand_dims(tf.nn.softmax(u_logits[j]),-1)),[2])) # tf.matmul [32,200,30],[32,30,1] test_result = tf.stack(q
-
python 用lambda函数替换for循环的方法
场景如下: 现在有一个dataframe,其中一列为score,值从0-100, df: score 98 88 37 68 86 33 现在需要增加一列level,给这些分数分类,90分以上为A,60-90为B,60以下为C. 常用的方法肯定是使用for循环,对每一行进行处理. import pandas as pd list = [98,88,37,68,86,33] df = pd.DataFrame(list, columns=['score']) # convert list to d
-
Tensorflow tf.tile()的用法实例分析
tf.tile()应用于需要张量扩展的场景,具体说来就是: 如果现有一个形状如[width, height]的张量,需要得到一个基于原张量的,形状如[batch_size,width,height]的张量,其中每一个batch的内容都和原张量一模一样.tf.tile使用方法如: tile( input, multiples, name=None ) import tensorflow as tf a = tf.constant([7,19]) a1 = tf.tile(a,multiples=[
-
shell for循环、循环变量值付给其他shell脚本的方法
本文主要将在shell中如何编写for循环,并将循环变量作为下个shell脚本的参数. shell for 循环: #!第一种写法 类似C.Java for ((i=1; i<=100; i ++)) do echo $i done #!第二种写法 in应用 for i in {1..100} do echo $i done #!第三种写法 seq 使用 for i in `seq 1 100` do echo $i done 将循环变量赋值到下一个脚本: 在运行shell脚本时候,有三种方式来
-
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
[尊重原创,转载请注明出处]https://blog.csdn.net/guyuealian/article/details/79672257 项目Github下载地址:https://github.com/PanJinquan/Mnist-tensorFlow-AndroidDemo 本博客将以最简单的方式,利用TensorFlow实现了MNIST手写数字识别,并将Python TensoFlow训练好的模型移植到Android手机上运行.网上也有很多移植教程,大部分是在Ubuntu(Linu
-
python3.4用循环往mysql5.7中写数据并输出的实现方法
如下所示: #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ python study Date:2017 """ import pymysql # import MySQLdb #python2中的产物 try: # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库 conn = pymysql.connect(hos
-
Javascript循环删除数组中元素的几种方法示例
本文主要跟大家分享了关于Javascript循环删除数组中元素的几种方法,分享出来供大家参考学习,下面来看看详细的介绍: 发现问题 大家在码代码的过程中,经常会遇到在循环中移除指定元素的需求.按照常规的思路,直接一个for循环,然后在循环里面来个if判断,在判断中删除掉指定元素即可.但是实际情况往往不会像预想的那样顺利运行. 下面以一段Javascript代码为例演示这一过程. (function () { var arr = [1,2,2,3,4,5]; var len = arr.lengt
-
Linux Shell循环中实现展示进度百分比的实现方法
Shell 循环中实现展示进度百分比的脚本方法 当我需要处理一个几万行的文件的时候,需要处理的时间是比较长的.我一开始的想法是,没处理一行,就输出一个 # 号.但是这样还是会出现很多很多的 # 号,即便是放在一行,也是非常不优雅的.所以,我想实现一个展示进度百分比的脚本. 实现思路 获取文件的行数 用 i++ 实现每行处理的计数 当前处理行数*100再除以文件行数+%得到我要输出的百分比结果 我需要在一行展示,而不是一直追加或者每次都显示一行 就是这些需求了.我们来逐渐实现. 获取文件的行数 这
-
jQuery循环遍历子节点并获取值的方法
本文实例讲述了jQuery循环遍历子节点并获取值的方法.分享给大家供大家参考,具体如下: Html代码部分: <div class="left_tree_ad_btn_container"> <ul> <li class="tree_ad_btn_bg"><img src="/images/insurance/3lianad_small.jpg" /> </li> </ul>
-
Java通过在主循环中判断Boolean来停止线程的方法示例
本文实例讲述了Java通过在主循环中判断Boolean来停止线程的方法.分享给大家供大家参考,具体如下: package Threads; /** * Created by Frank */ public class StopBoolean extends Thread { // 确保变化对其它线程可见(主要是主线程要可见) protected volatile boolean done = false; public void run() { while (!done) { System.ou
随机推荐
- C#设置本地网络如DNS、网关、子网掩码、IP等等
- 简单介绍Python的轻便web框架Bottle
- Linux系统中设置多版本PHP共存配合Nginx服务器使用
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- 模仿OSO的论坛(五)
- ASP 提示非法赋值的解决方法
- linux下为php添加iconv模块的方法
- 微信小程序--onShareAppMessage分享参数用处(页面分享)
- jsp利用application统计在线人数的方法
- Treegrid的动态加载实例代码
- jQuery实现统计输入文字个数的方法
- jQuery温习篇 强大的JQuery选择器
- 怎样在JavaScript里写一个swing把数据插入数据库
- Android RecyclerView艺术般的控件使用完全解析
- 在CentOS / RHEL上设置 SSH 免密码登录的方法
- C#调用WebService实例开发
- php利用header函数下载各种文件
- Android使用PhotoView实现图片双击放大单击退出效果
- Python二叉树定义与遍历方法实例分析
- 分享vim python缩进等一些配置