使用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的Flask框架中使用日期和时间的教程
Apr 21 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
使用python的pyplot绘制函数实例
Feb 13 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
Python绘图之柱形图绘制详解
Jul 28 Python
python基于pexpect库自动获取日志信息
Feb 01 Python
python自动统计zabbix系统监控覆盖率的示例代码
Apr 03 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
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
详解PHP数组赋值方法
2015/11/07 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
jQuery 事件队列调整方法
2009/09/18 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
jQuery插件zTree实现清空选中第一个节点所有子节点的方法
2017/03/08 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
vue addRoutes路由动态加载操作
2020/08/04 Javascript
Python通过递归遍历出集合中所有元素的方法
2015/02/25 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
python 实现Harris角点检测算法
2020/12/11 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
一套PHP的笔试题
2013/05/31 面试题
C#面试问题
2016/07/29 面试题
护士检查书
2014/01/17 职场文书
演讲主持词
2014/03/18 职场文书
消防宣传口号
2014/06/16 职场文书
工作检讨书怎么写
2014/10/10 职场文书
公司辞职信模板
2015/05/13 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
创业计划书介绍
2019/04/24 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书