使用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实现向QQ群成员自动发邮件的方法
Nov 19 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
python3.4.3下逐行读入txt文本并去重的方法
Apr 29 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
Python常用特殊方法实例总结
Mar 22 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
Jun 17 Python
Python处理session的方法整理
Aug 29 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
opencv python Canny边缘提取实现过程解析
Feb 03 Python
keras做CNN的训练误差loss的下降操作
Jun 22 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
php输出表格的实现代码(修正版)
2010/12/29 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
解决vue项目router切换太慢问题
2020/07/19 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python isinstance判断对象类型
2008/09/06 Python
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
巴黎一票通:The Paris Pass
2018/02/10 全球购物
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
个人授权委托书
2014/04/03 职场文书
环保倡议书500字
2014/05/15 职场文书
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技