使用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实现的一个自动售饮料程序代码分享
Aug 25 Python
Python实现抓取城市的PM2.5浓度和排名
Mar 19 Python
python获取指定路径下所有指定后缀文件的方法
May 26 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
Python实现FTP文件定时自动下载的步骤
Dec 19 Python
尝试使用Python爬取城市租房信息
Apr 12 Python
python使用pycharm安装pyqt5以及相关配置
Apr 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实现时间轴函数代码
2011/10/08 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python使用turtle库绘制时钟
2020/03/25 Python
Python制作exe文件简单流程
2019/01/24 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
Python用SSH连接到网络设备
2021/02/18 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
革命英雄事迹演讲稿
2014/09/13 职场文书
法人代表证明书范本
2015/06/18 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers