想要实现一个类似简单版EGES的网络,之前加入了全连接等网络,效果很差,因此想要还原一下简单的skip-gram,不要那些复杂网络结构,但是出现了nan的问题。

搜罗了网上好多资料,经历了漫长的排查历程,如下:

  • 添加batch normalization
  • 修改负采样个数
  • 减小学习率
  • 改小batch size
  • 添加归一化
  • 对loss进行剪裁
  • 对梯度进行剪裁
  • 检查原始数据是否存在缺失

以上。。。都不好使。。。

更加诡异的是,添加一层全连接层,就可以了???

最终借助tensorflow的debug工具,感谢这位朋友。https://zhuanlan.zhihu.com/p/30940784

sess = tf_debug.LocalCLIDebugWrapperSession(sess, thread_name_filter="MainThread$")
sess.add_tensor_filter("has_inf_or_nan", tf_debug.has_inf_or_nan)
# run -f has_inf_or_nan

在运行的python后面添加 --debug=True

不过debug工具刚开始也有一点小bug,现在也没太解决,不过好歹给我定位到哪里出了nan

这两行,第一行是首次出现nan的位置。

刚看到的时候,翻白眼,这不是废话吗,我当然知道nan是出现在loss上面啦。

再看一眼,what?不是网络训练产生的losses,而是正则的loss

最终解决:由于网络改的过于简单,并没有加入正则,而计算loss时,加入了正则损失,因此,这一项没有变量进来,产生了nan。

虽然有点蠢,但是在网上真没搜到 这个原因,是以为记,继续炼丹去了。。。

python计算出nan_学习笔记0522:Tensorflow训练模型出现loss是nan的问题排查相关推荐

  1. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  2. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  3. 全国计算机等级考试二级Python精品题库学习笔记1

    全国计算机等级考试二级Python精品题库学习笔记1 精品试卷01 精品试卷01程序题 基本操作题 2:随机验证码 基本操作题 3:比赛成绩计算 Turtle 绘图题:同心圆 简单应用题 2:员工工资 ...

  4. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)

    全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...

  5. 《计算广告》学习笔记(四)

    <计算广告>学习笔记(四) 第七章:数据加工与交易 7.1有价值的数据来源 7.2数据管理平台 7.2.1三方数据划分 7.2.2第一方数据管理平台 7.2.3第三方数据平台 7.3数据交 ...

  6. Python第三方库pygame学习笔记(一)

    Pygame Python最经典的2D游戏开发第三方库,也支持3D游戏开发 Pygame适合用于游戏逻辑验证.游戏入门及系统演示验证 Pygame是一种游戏开发引擎,基本逻辑具有参考价值 pygame ...

  7. 《计算广告》学习笔记(一)

    <计算广告>学习笔记(一) 0.写在前面 1.第一章:在线广告综述 1.1:免费模式与互联网核心资产 1.2:大数据与广告的关系 1.3:广告的定义与目的 1.4:在线广告的表现形式 1. ...

  8. 计算鬼成像学习笔记二:二阶关联函数探究

    计算鬼成像学习笔记二:二阶关联函数探究 1 一阶关联函数 2 二阶关联函数 3 二阶关联如何重构物体 4 差分鬼成像关联公式 5 归一化鬼成像关联公式 1 一阶关联函数 一阶关联函数是光场的电场强度之 ...

  9. Python+cplex运筹优化学习笔记(三)-营养膳食选择

    Python+cplex运筹优化学习笔记(三)-营养膳食选择 前言 首先呢,说明一下,本文只是自己在学习过程中运用到的例子,然后规整总结一下,随便写写自己所做的一些笔记.小白学习,有不对的地方还望大家 ...

  10. 36篇博文带你学完opencv :python+opencv进阶版学习笔记目录

    基础版学习笔记传送门 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版) 进阶版笔记 项目 opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像 ...

最新文章

  1. opencv感兴趣区域ROI的图像混合操作
  2. 数据库自动收缩带来的严重问题
  3. ffmpeg3.3新版本AVStream的封装流参数由codec替换codecpar
  4. 探索初级算法学习笔记-快速排序法
  5. Scala 空返回值Unit
  6. Boost.MultiIndex 双向映射示例
  7. VTK:可视化之RenderLargeImage
  8. python数组展示_python如何显示数组
  9. C语言封顶,我们的大屋顶|阳光方舟2.0--C-HOUSE正式封顶
  10. Hibernate之查询
  11. 屏幕录像专家 共享版 V7.5 安装图解
  12. centos 删除服务器文件夹,centos彻底删除文件夹、文件命令
  13. IAR for STM8的简介、下载、安装及注册教程
  14. 数字图像处理——大家来找茬(Python)
  15. Ant Design select下拉框突然拉长
  16. HTML下拉菜单怎么做成横向,纯css实现横向下拉导航菜单(可做左侧类目导航)
  17. 用ch341a刷写主板bios
  18. Harris角点及Shi-Tomasi角点检测
  19. 超棒的HTML5/CSS3单页面响应式模板(支持Bootstrap)
  20. 我是如何管理我的团队的?

热门文章

  1. Linux检查服务器cpu状态脚本,Linux服务器硬件运行状态及故障邮件提醒的监控脚本分享...
  2. matlab cat函数_MATLAB的Categorical数组
  3. scopt解析参数实例
  4. logistic回归详解(三):梯度下降训练方法
  5. java 加载java文件_如何用JAVA实现加载一个文件?
  6. 自动化测试Linux和fio,一种基于fio实现的SSD性能自动化测试方法与流程
  7. 无线传感网络定向扩散路由仿真matlab,确定性无线传感器网络定向扩散路由协议...
  8. go 调用 另一个go 的方法_Go 经典入门系列 17:方法
  9. mysql like 全文索引_mysql like%query是慢全文索引
  10. php 正则预搜索?=