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爬虫之urllib2使用指南
Nov 05 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
5种Python单例模式的实现方式
Jan 14 Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
Python最小二乘法矩阵
Jan 02 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
Python 字符串池化的前提
Jul 03 Python
Python2及Python3如何实现兼容切换
Sep 01 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
javascript表单验证大全
2015/08/12 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
AngularJS实现Model缓存的方式
2016/02/03 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
美国钻石商店:Zales
2016/11/20 全球购物
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
前台文员我鉴定
2014/01/12 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
教学质量评估实施方案
2014/03/17 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
2015年公务员工作总结
2015/04/24 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
红白喜事主持词
2015/07/06 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
一文带你探究MySQL中的NULL
2021/11/11 MySQL