使用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随手笔记之标准类型内建函数
Dec 02 Python
12步入门Python中的decorator装饰器使用方法
Jun 20 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
python打包exe开机自动启动的实例(windows)
Jun 28 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
Django跨域资源共享问题(推荐)
Mar 09 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
python中常用的数据结构介绍
Jan 12 Python
使用Python+Appuim 清理微信的方法
Jan 26 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 Python
Python OpenCV 图像平移的实现示例
Jun 04 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实现文件安全下载
2006/10/09 PHP
php 数学运算验证码实现代码
2009/10/11 PHP
php实现RSA加密类实例
2015/03/26 PHP
CI框架常用函数封装实例
2016/11/21 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python 专题一 函数的基础知识
2017/03/16 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python中类与对象之间的关系详解
2020/12/16 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
思想政治表现评语
2015/01/04 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
Java数据结构之链表相关知识总结
2021/06/18 Java/Android
Python matplotlib多个子图绘制整合
2022/04/13 Python