placeholder和assign速度对比
在CPU上,使用variable和placeholder效果差不多
在GPU上,使用variable要比每次都传placeholder快得多3:2
使用GPU的瓶颈主要在于GPU和内存之间的复制操作
"""
place_holder和variable速度对比
"""
import time
import numpy as np
import tensorflow as tf
M = 4096
N = 4096
K = 4096
A = np.random.random((N, M))
B = np.random.random((M, K))
a = tf.placeholder(dtype=tf.float32, shape=(None, M))
b = tf.placeholder(dtype=tf.float32, shape=(None, N))
c = tf.Variable(initial_value=A, dtype=tf.float32)
pro = a @ b
use_assign = c @ b
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
beg_time = time.time()
for i in range(5):
sess.run(use_assign, feed_dict={
b: B
})
print("use variable", time.time() - beg_time)
beg_time = time.time()
for i in range(5):
sess.run(pro, feed_dict={
a: A,
b: B
})
print("use placeholder", time.time() - beg_time)
placeholder和assign速度对比的更多相关文章
- 深度学习原理与框架-Tensorflow基本操作-变量常用操作 1.tf.random_normal(生成正态分布随机数) 2.tf.random_shuffle(进行洗牌操作) 3. tf.assign(赋值操作) 4.tf.convert_to_tensor(转换为tensor类型) 5.tf.add(相加操作) tf.divide(相乘操作) 6.tf.placeholder(输入数据占位
1. 使用tf.random_normal([2, 3], mean=-1, stddev=4) 创建一个正态分布的随机数 参数说明:[2, 3]表示随机数的维度,mean表示平均值,stddev表示 ...
- iOS TextView输入长度限制 设置placeholder
textView在使用中通常会有2个功能是最常用的 设置placeholder 限制输入长度 TYLimitedTextView刚好是为了解决这个2个问题而诞生的,下面讲解TYLimitedTextV ...
- TFboy养成记 简单小程序(Variable & placeholder)
学习参考周莫烦的视频. Variable:主要是用于训练变量之类的.比如我们经常使用的网络权重,偏置. 值得注意的是Variable在声明是必须赋予初始值.在训练过程中该值很可能会进行不断的加减操作变 ...
- tensorflow基础架构 - 处理结构+创建一个线性回归模型+session+Variable+Placeholder
以下仅为自己的整理记录,绝大部分参考来源:莫烦Python,建议去看原博客 一.处理结构 因为TensorFlow是采用数据流图(data flow graphs)来计算, 所以首先我们得创建一个数据 ...
- tensorflow 笔记12:函数区别:placeholder,variable,get_variable,参数共享
一.函数意义: 1.tf.Variable() 变量 W = tf.Variable(<initial-value>, name=<optional-name>) 用于生成一个 ...
- Tensorflow学习笔记02-Session,Variable,placeholder
Session会话控制 使用tensorflow创建两个矩阵,并使其相乘 matrix1=tf.constant([[3,3]]) matrix2=tf.constant([[2], [2]]) pr ...
- 设计带有placeHolder的TextView
设计带有placeHolder的TextView 效果: 源码: PlaceholderTextView.h 与 PlaceholderTextView.m // // PlaceholderText ...
- tensorflow学习之路---Session、Variable(变量)和placeholder
---恢复内容开始--- 1.Session '''Session.run():首先里面的参数是一个API(函数的接口)的返回值或者是指定参数的值:功能:得知运算结果有两种访问方式:直接建立或者运用w ...
- TensorFlow实战第一课(session、Variable、Placeholder、Activation Function)
莫烦tensorflow教学 1.session会话控制 Tensorflow 中的Session, Session是 Tensorflow 为了控制,和输出文件的执行的语句. 运行session.r ...
随机推荐
- [转]Redis之(一)初识Redis
原文地址:http://blog.csdn.net/u012152619/article/details/52550315 Redis之(一)初识Redis 标签: Redisredis-server ...
- python测试mysql写入性能完整实例
这篇文章主要介绍了python测试mysql写入性能完整实例,具有一定借鉴价值,需要的朋友可以参考下 本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下. 测试环境: ...
- c++ 多态的内幕
c++ 多态,就是利用了一个二级指针(指针数组),数组里的每个元素都指向了,用virtual修饰的成员函数. 既然提到了指针,那就让我们用内存地址来证明一下吧. 为了证明,我们必须要取到成员函数的首地 ...
- 3.web基础$_GET
http://123.206.87.240:8002/get/
- IntelliJ IDEA 创建动态的JavaWeb工程(五)
1. 创建动态的web项目 如果创建项目后没有自动创建web文件夹,即没有自动创建 web.xml 及 index.jsp 文件,还可以通过IDEA编辑器中的File -- Project Struc ...
- 更换github账号后,push被旧账号阻止
和网上多数的教程不同,我是需要直接更换账号.切换后push一直被阻止.解决后记录下办法 remote: Permission to new-name/practice.git denied to ol ...
- shellnet运行train_val_seg.py
1.semantic3d数据集准备:prepare_semantic3d_data.py 11个测试数据集(.txt文件): 假如运行的是室外点云数据集“seg_semantic3d”,可能需要做以下 ...
- LG2996 「USACO10NOV」Visiting Cows
问题描述 LG2996 题解 和没有上司的舞会双倍经验? \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; te ...
- thinkphp6报错Driver [Think] not supported.
解决方法 composer require topthink/think-view
- Fink| CEP
什么是复杂事件CEP? 一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据,满足规则的复杂事件. 特征: 目标:从有序的简单事件流中发现一些高阶特征 输入:一个或多个由简单事 ...