Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • Paddle
  • 合并请求
  • !27524

P
Paddle
  • 项目概览

PaddlePaddle / Paddle
大约 2 年 前同步成功

通知 2325
Star 20933
Fork 5424
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 1423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
P
Paddle
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 1,423
    • Issue 1,423
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 543
    • 合并请求 543
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板

fix the precision problem of test_distribution !27524

  • Report abuse
!27524 开放中 9月 24, 2020 由 saxon_zh@saxon_zh 创建
#<User:0x00007f7e19e155e8>
  • 概览 0
  • 提交 5
  • 变更 1

Created by: pangyoki

PR types

Others

PR changes

APIs

Describe

reason for test_distribution failure

  • Because assign op does not support the input of numpy.ndarray whose dtype is FP64. When users set FP64 numpy.ndarray as the parameters of Uniform and Normal classes. We need to use assign op to convert it to FP32 Tensor. And then use cast op to convert it to a FP64 Tensor. There is a loss of accuracy in this conversion. Refer to PR https://github.com/PaddlePaddle/Paddle/pull/26767 .

  • In test_distribution, compare the output of paddle and output of numpy to verify the correction. In Uniform(low, high), the formula to calculate the entropy is entropy(low, high) = log (high - low). if low and high are very close, high - low will be close to 0, and small precision loss will become large error because of using log.

solution

In the realization of the original Uniform unittest, the range of low is [-1, 1), the range of high is [-5, 5). To avoid low and high being too close, set low in the range of [-1, 1), and set high in range of [5, 15). What's more, add a unittest to discuss the situation that high < low.

log_prob unittest of Normal class also fails, change the tolerance from 1e-6 to 1e-4. tolerance: 1e-6 -> 1e-4

指派人
分配到
审核者
Request review from
无
里程碑
无
分配里程碑
工时统计
标识: paddlepaddle/Paddle!27524
Source branch: github/fork/pangyoki/fix-test_distritbution-CI
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7