过滤低质量的训练数据

过滤低质量的训练数据是提高训练精度的一个好办法。理论上来讲,训练用例分为正例和反例,但是在实践中这并不是非黑即白。自己现在做的 Dual Encoder,虽然图片周围的实体都可以被当作正例,但是实践中实体的标注实际上就有一个 Confidence Score,这个 Confidence Score 如果太小,那就不把它当作正例即可,这就起到了过滤部分低质量训练数据的效果。 以前的工程师用了一个模型来给训练数据打分,自己一直觉得不需要这么复杂,直接使用Confidence Score就应该很好了。这次大胆地把模型去掉,没有想到训练的效果差了很多,自己很是吃了一惊。仔细研究之下,结果发现就是因为直接使用实体的Confidence Score时,因为分数分布的缘故,比起原来用一个模型,过滤掉的低质量训练数据一下子少了很多,因此训练效果就变差了。提高Confidence Score Threshold以后问题就解决了。真好。

苹果电脑近年来的一些奇葩决定

自己在2014年左右上了苹果的贼船,刚开始觉得很好,用了这么多年下来,才发现苹果用心险恶,总是在谋求对于用户的全面控制,为了长期的稳定,尽量还是要远离苹果的产品。下面列出我自己收集的近年苹果的一些奇葩决定: 两下空格变成一个句号。这是从手机搬到电脑上的一个特性,完全无用,却又默认打开,啊。 出现一个 Siri,要你对它讲话。这么用电脑也实在太奇怪了。 Touch-bar,用了几年下来,除了调整一下音量或者屏幕亮度,就没有发现有用的时候。每次看着各种提示候选在Touch-bar上显示,真是无法理解,白白浪费电池。 为了打通云端系统开始收钱,强迫登录 Apple ID,然后向云端同步一大堆无用的图片、视频。一旦默认空间快要用完,就开始积极的向你弹窗提示,快快缴费! 为了能够卖出iPad,笔记本从来不带触摸屏。 为了能够卖出更多的iPad,从来不支持多用户。 不停的提示你需要更新系统,好向你推送更多可以收费的机会。

Setup SiteSync For WordPress

自从搞了一个不上网的笔记本,我就一直琢磨着怎么才能 Offline 写博客。期间尝试了无数的办法,包括: 切换到 Jekyll:这个软件就是为Offline写博客准备的,按说应该是完美的选择,但是在实践中这是一个大坑,最后有几点让我放弃了。 Jekyll 的插件不够丰富,特别的,没有围棋的支持。 Jekyll 不支持私有的文章。 最后,把所有的文章从 WordPress 迁移到 Jekyll 是个浩大的工程,我还专门试了试Jekyll自带的导入工具,结果跑出来的格式都需要手动调整,最少需要几天时间。 Offline Blog Write Tool:按说这个不难,但是不知道为什么,在Linux上就是没有能够用的工具。在 https://wordpress.org/support/article/weblog-client/ 上列出的工具,不是不能运行,就是长久以来没有人维护了。 Offline 写在Google Docs中,然后再把 Google Docs 嵌入到帖子中:这个问题就是太难看了,实在不愿意。 WordPress Desktop:本来我对这个报了极高的希望,折腾了很长时间,甚至还安装 JetPack 插件,最后这个软件只是通过桌面来远程操作Wordpress站点,但是还是需要上网,大失所望! 还有一个比较搞笑的地方就是我的笔记本是一个Chromebook上面安装的Linux。这个Linux的奇怪地方是所有的程序中文输入法的支持都有问题:Terminal Vim 输入中文屏幕显示一塌糊涂,X-window Based Vim 干脆没有办法切换到中文输入,只有在Chrome 浏览器里输入中文还算正常,这也给了我试图建立Offline 编辑的想法当头一棒,唉。 在尝试了多种办法均失败以后,最后我看到了一个叫做 WPSiteSync 的插件,号称可以在两个站点之间同步文章。我想了想,如果按照这个办法,第一不用学习新的博客软件,第二Offline编辑的环境也和原来一样,看上去还可以,我就一咬牙,在我的笔记本上架起了完整的Wordpress (幸好上次迁移的时候写了一个攻略,正好用上),然后再安装和设置好同步插件,结果真的工作了! 这样我就可以 Offline Edit 我的博客文章了,几天以来的辛苦工作终于有了回报,很开心。

儿子教我弹会了《致爱丽丝》

《致爱丽丝》是一首经典的古典曲目,自己觉得很好听,可是从来没有想过自己试一试。在我的潜意识里,我也就弹弹流行通俗歌曲,对于古典曲目那是肯定拿不下来的,就不用浪费时间了。 儿子自己不知深浅,倒是常常对着 Youtube 上的视频练习。有一天儿子突然对我说他已经学会了这首曲子,然后要教我弹。我抱着陪他游戏一下的心情,就让他开始教我。没有想到前奏部分不是很难,我很快就学的像模像样了,儿子开始是自己背了一些指法,后来我们两个人又从网上找来曲谱打印出来认真学习,结果我花了一周时间,就把前奏学完了。以前只是想想,现在可以自己弹了,真好! 感谢本!

不用f前缀但是像fstring一样Print (fstring print without f-prefix)

Python 早期的Print语句受到 C 的直接影响,在把变量嵌入到输出的字符串时采用了占位符语法。使用这种打印语句,程序员需要在脑子里把所有的变量处理两次,一次是它们在字符串中的位置,一次是它们的具体名称。这样处理实际上比较繁琐而且容易出错的: name = ‘Bob’ age = ’60’ print(‘%s is % years old.’ % (name, age)) 新的f-string 语法可以直接把变量嵌入到字符串中,算是朝正确的方向前进了一大步: print(f'{name} is {age} years old.’) 现在的问题是,我们总是要加上 f 这个恼人的前缀,特别是如果输出的消息是多行的话,每一行都要写上这个前缀,更是麻烦。我琢磨了很久,终于搞明白怎样在正常的字符串中嵌入变量名处理了,真是不错: def Print(message): import inspect frame = inspect.stack()[1][0] print(message.format_map({**frame.f_globals, **frame.f_locals})) name = ‘Bob’ age = ’60’ Print(‘{name} is {age} years old. – Print magic’) 长久以来的一个心病终于解决了。

Del Valle Regional Park

感恩节期间,朋友邀请我们一家去 Del Valle Regional Park 游玩。本来以为就是一个普通的公园,没有想到深秋的湖水美极了。特别是后来两家人都在湖边扔石子玩,而我一个人沿着湖边向尽头的大坝走的时候,湖边很安静,阳光映在湖面波光粼粼却又静谧,天空高远,而山的线条也很柔和,很久没有这么心旷神怡的时候了。 大自然真是美好。