使用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实现的登录和操作开心网脚本分享
Jul 09 Python
python按行读取文件,去掉每行的换行符\n的实例
Apr 19 Python
python读取LMDB中图像的方法
Jul 02 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
python按时间排序目录下的文件实现方法
Oct 17 Python
Python3安装pip工具的详细步骤
Oct 14 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Python 实现敏感目录扫描的示例代码
May 21 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 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根据两点间的经纬度计算距离
2014/10/31 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
详解vuex的简单使用
2018/03/12 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
Python中的yield浅析
2014/06/16 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
python实现Floyd算法
2018/01/03 Python
python处理csv中的空值方法
2018/06/22 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
Python的两道面试题
2013/06/29 面试题
年终自我鉴定
2013/10/09 职场文书
机械设计及其自动化专业推荐信
2013/10/31 职场文书
审核会计岗位职责
2013/11/08 职场文书
大学生工作自荐书
2014/06/16 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
话题作文之学会尊重
2019/12/16 职场文书