torch数组计算出现NAN

在torch中零除零不会报错,结果会是NaN。

比如

a = torch.tensor([0,0])

a/a

output: tensor([nan])

PS: 这个白痴问题我想了好久,最后还是靠print才解决。没想到这里是因为平常如果除零的话是会报错的,但是在numpy里会提醒,torch里不提醒。解决办法就是a.clamp(1e-4)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyTorch是一个非常流行的深度学习框架,它提供了许多方便的函数和类来进行张量操作。其中,将NumPy数组转换为PyTorch中的张量tensor是很常见的操作。 首先,需要导入torch和NumPy库。例如,可以使用以下代码: ```python import torch import numpy as np ``` 然后,可以使用torch.from_numpy()函数将NumPy数组转换为tensor。例如,有一个名为“arr”的NumPy数组,可以使用以下代码将其转换为PyTorch张量: ```python arr = np.array([1, 2, 3]) t = torch.from_numpy(arr) ``` 这将创建一个形状为(3,)的一维张量t,它包含NumPy数组中的所有元素。可以使用print()函数检查张量的内容: ```python print(t) ``` 输出就会是: ```python tensor([1, 2, 3], dtype=torch.int32) ``` 需要注意的是,torch.from_numpy()函数不会创建一个新的张量对象,而是返回一个已存在的NumPy数组的视图。因此,修改原始NumPy数组的值也会反映在张量上,反之亦然。 ```python arr[0] = 100 print(t) ``` 输出: ```python tensor([100, 2, 3], dtype=torch.int32) ``` 除了torch.from_numpy()外,还可以使用torch.tensor()函数创建张量。这个函数可以接收任何Python序列、NumPy数组或其他PyTorch张量,并在必要时进行类型和形状转换。例如: ```python arr = [[1, 2], [3, 4]] t = torch.tensor(arr) ``` 这将创建一个形状为(2, 2)的张量t,其中包含二维NumPy数组中的所有元素。需要注意的是,torch.tensor()创建一个新的张量对象,因此与原始数组没有关联。 总之,将NumPy数组转换为PyTorch张量是一个简单而有用的操作,可以轻松地在PyTorch应用程序中使用NumPy数组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值