目录

一、作用

二、使用方法

三、具体代码

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


一、作用

创建一个新的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()的作用相关推荐

  1. Pytorch中apply函数作用

    pytorch中的model.apply(fn)会递归地将函数fn应用到父模块的每个子模块submodule,也包括model这个父模块自身.经常用于初始化init_weights的操作.如下appl ...

  2. pytorch中LambdaLR的作用

    这个东西是为了可以按照我们的策略lr_lambda(其实就是一个自定义的函数,这个函数以训练epoch为输入,学习率倍率系数为输出),随着训练趟数的增加,而学习率在不断变化,通常,学习率是在变小. s ...

  3. PyTorch中Variable变量与torch.autograd.Variable

    一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...

  4. PyTorch中Variable变量

    一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...

  5. pytorch中model.eval的作用

    pytorch中model.eval()的作用 问题描述: torch.onnx.export()导出onnx模型后,利用onnxruntime加载onnx模型后,其输出结果与原始.pth模型的输出结 ...

  6. python batchnorm2d_BatchNorm2d原理、作用及其pytorch中BatchNorm2d函数的参数讲解

    BN原理.作用: 函数参数讲解: BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) 1. ...

  7. pytorch中如何处理RNN输入变长序列padding

    一.为什么RNN需要处理变长输入 假设我们有情感分析的例子,对每句话进行一个感情级别的分类,主体流程大概是下图所示: 思路比较简单,但是当我们进行batch个训练数据一起计算的时候,我们会遇到多个训练 ...

  8. 利用 AssemblyAI 在 PyTorch 中建立端到端的语音识别模型

    作者 | Comet 译者 | 天道酬勤,责编 | Carol 出品 | AI 科技大本营(ID:rgznai100) 这篇文章是由AssemblyAI的机器学习研究工程师Michael Nguyen ...

  9. 实践教程 | 浅谈 PyTorch 中的 tensor 及使用

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | xiaopl@知乎(已授权) 来源 | https://z ...

最新文章

  1. 超级细分插件_草图大师必装插件
  2. 3分和30分文章差距在哪里?
  3. 多线程CreateThread函数的用法及注意事项
  4. js window.onlload 自遐想
  5. 160523、Oracle建立表空间和用户
  6. pc计算机中ram的编址单位,字母编址
  7. 争锋职考职称计算机,PVP攻略 | 新秀职业的争锋天下?
  8. 操作数据库出现错误的查找问题方法
  9. three.js 使用DragControls.js 拖动元素
  10. win10cmd输入java_win10肿么输入cmd 输入java
  11. linux DNS 简单配置
  12. SHFileOperation DeleteFolder
  13. Tongweb 7 集中管理工具
  14. python 创建netcdf_如何用python netCDF4创建netCDF文件?
  15. 一款界面友好的思维导图软件MindMaster
  16. android电视nas的照片,安卓手机为中心的家庭“nas”
  17. JS轮播图(网易云轮播图)
  18. Brendan Gregg
  19. 《WEB安全漏洞100讲》(第4讲)CSRF漏洞
  20. 黑客技术论坛为什么越来越少了?

热门文章

  1. Meterpreter利用MS17_010病毒payload渗透电脑介绍-推荐
  2. 浅谈---如何从菜鸟成长为(伪)架构师?
  3. cursor设置为自定义图片
  4. 【智能汽车竞赛】极速越野组参赛总结
  5. ubuntu18使用之2:安装好Ubuntu18.04之后要做的事!!大全、详细教程!
  6. Python学习笔记:第五站 转圈圈
  7. 【变态难】找出每部电影和单部电影销售冠军之间的销售差,列出电影名,销售额差额
  8. ndows xp +sp2 对蓝牙的支持
  9. 千万融资与联合国接见 移动社交Blued背后技术支持
  10. 从Java Future 到 Guava ListenableFuture实现异步非阻塞调用