pytorch中Tensor.new()的使用解析

 更新时间:2023年09月23日 09:05:21   作者:页页读  
这篇文章主要介绍了pytorch中Tensor.new()的使用解析,Tensor.new()是创建一个新的Tensor,该Tensor的type和device都和原有Tensor一致,且无内容,需要的朋友可以参考下

一、作用

创建一个新的Tensor,该Tensor的 type 和 device 都和原有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_inputs的type和device都与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中Tensor.new()的使用解析的文章就介绍到这了,更多相关Tensor.new()的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • NumPy 数组属性的具体使用

    NumPy 数组属性的具体使用

    本文主要介绍了NumPy 数组属性的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • tensorflow2.0如何实现cnn的图像识别

    tensorflow2.0如何实现cnn的图像识别

    这篇文章主要介绍了tensorflow2.0如何实现cnn的图像识别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python字典dict中常用内置函数的使用

    python字典dict中常用内置函数的使用

    本文主要介绍了python字典dict中常用内置函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python 常见的反爬虫策略

    python 常见的反爬虫策略

    这篇文章主要介绍了python反爬虫策略,帮助大家更好的理解和使用python 爬虫,感兴趣的朋友可以了解下
    2020-09-09
  • python保留小数函数的几种使用总结

    python保留小数函数的几种使用总结

    本文主要介绍了python保留小数函数的几种使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python实现内存泄露排查的示例详解

    Python实现内存泄露排查的示例详解

    一般在python代码块的调试过程中会使用memory-profiler、filprofiler、objgraph等三种方式进行辅助分析,今天这里主要介绍使用objgraph对象提供的函数接口来进行内存泄露的分析,感兴趣的可以了解一下
    2023-01-01
  • Python开发微信公众平台的方法详解【基于weixin-knife】

    Python开发微信公众平台的方法详解【基于weixin-knife】

    这篇文章主要介绍了Python开发微信公众平台的方法,结合实例形式分析了Python基于weixin-knife针对微信公众平台消息、接口调用及事件处理的基本操作技巧与相关注意事项,需要的朋友可以参考下
    2017-07-07
  • Python如何读取PDF文档(或TXT)

    Python如何读取PDF文档(或TXT)

    这篇文章主要介绍了Python如何读取PDF文档(或TXT),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python常见反爬虫机制解决方案

    Python常见反爬虫机制解决方案

    这篇文章主要介绍了Python常见反爬虫机制解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python编程入门指南之函数

    Python编程入门指南之函数

    这篇文章主要为大家介绍了Python编程之函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01

最新评论