使用tensorflow根据输入更改tensor shape


Posted in Python onJune 23, 2020

涉及随机数以及类RNN的网络构建常常需要根据输入shape,决定中间变量的shape或步长。

tf.shape函数不同于tensor.shape.as_list()函数,后者返回的是常值list,而前者返回的是tensor。

使用tf.shape函数可以使得中间变量的tensor形状随输入变化,不需要在构建Graph的时候指定。但对于tf.Variable,因为需要提前分配固定空间,其shape无法通过上诉方法设定。

实例代码如下:

a = tf.placeholder(tf.float32,[None,])
b = tf.random_normal(tf.concat([tf.shape(a),[2,]],axis=0))

补充知识:pytorch中model=model.to(device)用法

这代表将模型加载到指定设备上。

其中,device=torch.device("cpu")代表的使用cpu,而device=torch.device("cuda")则代表的使用GPU。

当我们指定了设备之后,就需要将模型加载到相应设备中,此时需要使用model=model.to(device),将模型加载到相应的设备中。

将由GPU保存的模型加载到CPU上。

将torch.load()函数中的map_location参数设置为torch.device('cpu')

device = torch.device('cpu')
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH, map_location=device))

将由GPU保存的模型加载到GPU上。确保对输入的tensors调用input = input.to(device)方法。

device = torch.device("cuda")
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(device)

将由CPU保存的模型加载到GPU上。确保对输入的tensors调用input = input.to(device)方法。map_location是将模型加载到GPU上,model.to(torch.device('cuda'))是将模型参数加载为CUDA的tensor。最后保证使用.to(torch.device('cuda'))方法将需要使用的参数放入CUDA。

device = torch.device("cuda")
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH, map_location="cuda:0")) # Choose whatever GPU device number you want
model.to(device)

以上这篇使用tensorflow根据输入更改tensor shape就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
python使用fileinput模块实现逐行读取文件的方法
Apr 29 Python
Python如何判断数独是否合法
Sep 08 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
May 29 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
Python 获取项目根路径的代码
Sep 27 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
PyCharm上安装Package的实现(以pandas为例)
Sep 18 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
python 管理系统实现mysql交互的示例代码
Dec 06 Python
pytorch 计算ConvTranspose1d输出特征大小方式
Jun 23 #Python
Android Q之气泡弹窗的实现示例
Jun 23 #Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 #Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 #Python
python如何查看安装了的模块
Jun 23 #Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 #Python
Python dict的常用方法示例代码
Jun 23 #Python
You might like
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
jquery 常用操作方法
2010/01/28 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
Python常用模块介绍
2014/11/21 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
Python中如何引入第三方模块
2020/05/27 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
人事科岗位职责范本
2014/03/02 职场文书
五一手机促销方案
2014/03/08 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
SQL语句多表联合查询的方法示例
2022/04/18 MySQL