Pytorch中.new()的作用详解


Posted in Python onFebruary 18, 2020

一、作用

创建一个新的Tensor,该Tensor的typedevice都和原有Tensor一致,且无内容。

二、使用方法

如果随机定义一个大小的Tensor,则新的Tensor有两种创建方法,如下:

inputs = torch.randn(m, n)
 
new_inputs = inputs.new()
new_inputs = torch.Tensor.new(inputs)

三、具体代码

import torch
 
rectangle_height = 1
rectangle_width = 4
inputs = torch.randn(rectangle_height, rectangle_width)
for i in range(rectangle_height):
  for j in range(rectangle_width):
    inputs[i][j] = (i + 1) * (j + 1)
print("inputs:", inputs)
new_inputs = inputs.new()
print("new_inputs:", new_inputs)
# Constructs a new tensor of the same data type as self tensor.
print(new_inputs.type(), inputs.type())
print('')
 
inputs = inputs.squeeze(dim=0)
print("inputs:", inputs)
# new_inputs = inputs.new()
new_inputs = torch.Tensor.new(inputs)
print("new_inputs:", new_inputs)
# Constructs a new tensor of the same data type as self tensor.
print(new_inputs.type(), inputs.type())
if torch.cuda.is_available():
  device = torch.device("cuda")
  inputs, new_inputs = inputs.to(device), new_inputs.to(device)
  print(inputs.device, new_inputs.device)

结果如下:

可以看到不论inputs是多少维的,新建的new_inputstypedevice都与inputs保持一致

inputs: tensor([[1., 2., 3., 4.]])
new_inputs: tensor([])
torch.FloatTensor torch.FloatTensor
 
inputs: tensor([1., 2., 3., 4.])
new_inputs: tensor([])
torch.FloatTensor torch.FloatTensor
cuda:0 cuda:0

四、实际应用(添加噪声)

可以对Tensor添加噪声,添加如下代码即可实现:

noise = inputs.data.new(inputs.size()).normal_(0,0.01)
print(noise)

结果如下:

tensor([ 0.0062, 0.0137, -0.0209, 0.0072], device='cuda:0')

以上这篇Pytorch中.new()的作用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现从百度API获取天气的方法
Mar 11 Python
用python实现k近邻算法的示例代码
Sep 06 Python
对python3 sort sorted 函数的应用详解
Jun 27 Python
python适合人工智能的理由和优势
Jun 28 Python
Python 的AES加密与解密实现
Jul 09 Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
May 27 Python
使用Keras画神经网络准确性图教程
Jun 15 Python
python和c语言哪个更适合初学者
Jun 22 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
python单向链表实例详解
May 25 Python
Pytorch maxpool的ceil_mode用法
Feb 18 #Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 #Python
Python3的socket使用方法详解
Feb 18 #Python
Python批量启动多线程代码实例
Feb 18 #Python
基于pytorch padding=SAME的解决方式
Feb 18 #Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 #Python
Python chardet库识别编码原理解析
Feb 18 #Python
You might like
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
js中生成map对象的方法
2014/01/09 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
详解在Vue中通过自定义指令获取dom元素
2017/03/04 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
详解Python在七牛云平台的应用(一)
2017/12/05 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Sanic框架应用部署方法详解
2018/07/18 Python
python try except 捕获所有异常的实例
2018/10/18 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
SQL Server笔试题
2012/01/10 面试题
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
中学生自我评价范文
2014/02/08 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
教师工作表现自我评价
2015/03/05 职场文书
贷款工资证明范本
2015/06/12 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书