pytorch 中 torch.sqrt 的坑
记录一下,避免后面踩坑
单步调了半小时,幸好这个问题出现很频繁
发现是函数与导函数定义域问题。。。
sqrt(x) 函数的定义域为 [0, 无穷大)
sqrt(x) 的导函数的定义域 却是 (0, 无穷大)
这些函数定义域跟导函数的定义域不一样,正向传播可以得到正常结果,但是一旦backward就会得到Nan。。。
问题重现
import torch
a = torch.zeros(1)
a.requireds_grad = True
b = torch.sqrt(a)
b.backward()
print(a.grad)
# 得到nan
如何解决
让输入的值符合sqrt的导函数定义域就可以解决该问题了。举个例子:设 x 的定义域为 [0, 无穷大) ,给 x 加个很小的数,例如1e-8,使其输入值的定义域略微往右偏移,就可以避开 0 这个未定义值了;y = sqrt(x + 1e-8)
pytorch 中 torch.sqrt 的坑相关推荐
- Pytorch中torch.nn.Softmax的dim参数含义
自己搞了一晚上终于搞明白了,下文说的很透彻,做个记录,方便以后翻阅 Pytorch中torch.nn.Softmax的dim参数含义
- PyTorch 中 torch.optim优化器的使用
一.优化器基本使用方法 建立优化器实例 循环: 清空梯度 向前传播 计算Loss 反向传播 更新参数 示例: from torch import optim input = ..... optimiz ...
- pytorch中torch.optim的介绍
pytorch中torch.optim的介绍 这是torch自带的一个优化器,里面自带了求导,更新等操作.开门见山直接讲怎么使用: 常用的引入: import torch.optim as optim ...
- PyTorch中torch.norm函数详解
torch.norm() 是 PyTorch 中的一个函数,用于计算输入张量沿指定维度的范数.具体而言,当给定一个输入张量 x 和一个整数 p 时,torch.norm(x, p) 将返回输入张量 x ...
- Pytorch中, torch.einsum详解。
爱因斯坦简记法:是一种由爱因斯坦提出的,对向量.矩阵.张量的求和运算的求和简记法. 在该简记法当中,省略掉的部分是:1)求和符号与2)求和号的下标 省略规则为:默认成对出现的下标(如下例1中的i和例2 ...
- pytorch 中 torch.optim.Adam 方法的使用和参数的解释
class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0)[source] 实现Ad ...
- pytorch中torch.isnan()和torch.isfinite()
今天看代码看到的这两个函数,不多数废话,直接上Demo: 1.先来研究torch.isfinite() import torch num = torch.tensor(1) # 数字1 res = t ...
- 【Torch API】pytorch 中torch.ones_like和torch.zeros_like函数详解
torch.ones_like函数和torch.zeros_like函数的基本功能是根据给定张量,生成与其形状相同的全1张量或全0张量,示例如下: input = torch.rand(2, 3) p ...
- pytorch中torch.nn.utils.rnn相关sequence的pad和pack操作
目录 一.pad_sequence 二.pack_padded_sequence 三.pad_packed_sequence 四.pack_sequence 自然语言处理任务中,模型的输入一般都是变长 ...
- Pytorch中torch.unsqueeze()和torch.squeeze()函数解析
一. torch.squeeze()函数解析 1. 官网链接 torch.squeeze(),如下图所示: 2. torch.squeeze()函数解析 torch.squeeze(input, di ...
最新文章
- AtomicInteger源码分析——基于CAS的乐观锁实现
- K8s 从懵圈到熟练-集群伸缩原理
- Android 动画之ScaleAnimation应用详解
- python实现dns欺骗_DNS欺骗攻击
- 粗糙表面的微表面模型——Physically Based Material
- pytorch已经安装成功了为什么不能使用import_使用auto keras的过程
- 的基本操作_Linux 基本操作命令总结
- hibernate之初学复合主键
- CenOS6 nginx+pxe+tftpd+samba/nfs+dhcpd 无盘安装windows linux
- UNIX系统编程小结(三)----进程相关
- Futter基础第6篇: 实现网格布局【GridView、GridView.count、GridView.builder】
- KEPServerEX V6轻松连接Wonderware InTouch
- (附源码)计算机毕业设计ssm基于JAVA宠物店管理系统
- chemdraw如何改中文_教你如何快速自定义ChemDraw默认设置
- 星号下三角形python答案_Python利用for循环打印星号三角形的案例
- Windows 和 Linux 系统查询 IP 地址命令
- LDA主题模型的原理及使用教程
- 每日新闻丨雷军:金山办公分拆上市是既定战略;我国计划2022年前后建成可载3人的空间站...
- Python地学分析 — GDAL对遥感影像重投影
- java基础学习之this和super和内存结构