Pytorch中.new()的作用
目录
一、作用
二、使用方法
三、具体代码
四、实际应用(添加噪声)
一、作用
创建一个新的Tensor,该Tensor的type和device都和原有Tensor一致,且无内容。
二、使用方法
如果随机定义一个大小的Tensor,则新的Tensor有两种创建方法,如下:
inputs = torch.randn(m, n)new_inputs = inputs.new()
new_inputs = torch.Tensor.new(inputs)
三、具体代码
import torchrectangle_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_inputs的type和device都与inputs保持一致
inputs: tensor([[1., 2., 3., 4.]])
new_inputs: tensor([])
torch.FloatTensor torch.FloatTensorinputs: 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()的作用相关推荐
- Pytorch中apply函数作用
pytorch中的model.apply(fn)会递归地将函数fn应用到父模块的每个子模块submodule,也包括model这个父模块自身.经常用于初始化init_weights的操作.如下appl ...
- pytorch中LambdaLR的作用
这个东西是为了可以按照我们的策略lr_lambda(其实就是一个自定义的函数,这个函数以训练epoch为输入,学习率倍率系数为输出),随着训练趟数的增加,而学习率在不断变化,通常,学习率是在变小. s ...
- PyTorch中Variable变量与torch.autograd.Variable
一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...
- PyTorch中Variable变量
一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...
- pytorch中model.eval的作用
pytorch中model.eval()的作用 问题描述: torch.onnx.export()导出onnx模型后,利用onnxruntime加载onnx模型后,其输出结果与原始.pth模型的输出结 ...
- python batchnorm2d_BatchNorm2d原理、作用及其pytorch中BatchNorm2d函数的参数讲解
BN原理.作用: 函数参数讲解: BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 1. ...
- pytorch中如何处理RNN输入变长序列padding
一.为什么RNN需要处理变长输入 假设我们有情感分析的例子,对每句话进行一个感情级别的分类,主体流程大概是下图所示: 思路比较简单,但是当我们进行batch个训练数据一起计算的时候,我们会遇到多个训练 ...
- 利用 AssemblyAI 在 PyTorch 中建立端到端的语音识别模型
作者 | Comet 译者 | 天道酬勤,责编 | Carol 出品 | AI 科技大本营(ID:rgznai100) 这篇文章是由AssemblyAI的机器学习研究工程师Michael Nguyen ...
- 实践教程 | 浅谈 PyTorch 中的 tensor 及使用
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | xiaopl@知乎(已授权) 来源 | https://z ...
最新文章
- 超级细分插件_草图大师必装插件
- 3分和30分文章差距在哪里?
- 多线程CreateThread函数的用法及注意事项
- js window.onlload 自遐想
- 160523、Oracle建立表空间和用户
- pc计算机中ram的编址单位,字母编址
- 争锋职考职称计算机,PVP攻略 | 新秀职业的争锋天下?
- 操作数据库出现错误的查找问题方法
- three.js 使用DragControls.js 拖动元素
- win10cmd输入java_win10肿么输入cmd 输入java
- linux DNS 简单配置
- SHFileOperation DeleteFolder
- Tongweb 7 集中管理工具
- python 创建netcdf_如何用python netCDF4创建netCDF文件?
- 一款界面友好的思维导图软件MindMaster
- android电视nas的照片,安卓手机为中心的家庭“nas”
- JS轮播图(网易云轮播图)
- Brendan Gregg
- 《WEB安全漏洞100讲》(第4讲)CSRF漏洞
- 黑客技术论坛为什么越来越少了?
热门文章
- Meterpreter利用MS17_010病毒payload渗透电脑介绍-推荐
- 浅谈---如何从菜鸟成长为(伪)架构师?
- cursor设置为自定义图片
- 【智能汽车竞赛】极速越野组参赛总结
- ubuntu18使用之2:安装好Ubuntu18.04之后要做的事!!大全、详细教程!
- Python学习笔记:第五站 转圈圈
- 【变态难】找出每部电影和单部电影销售冠军之间的销售差,列出电影名,销售额差额
- ndows xp +sp2 对蓝牙的支持
- 千万融资与联合国接见 移动社交Blued背后技术支持
- 从Java Future 到 Guava ListenableFuture实现异步非阻塞调用