0%

还是要认真的学习一会儿,降低多巴胺的分泌。在使用 triplet loss 学表示的时候,出现了模型坍塌的情况,也就是说,模型对任何输入的输出都是一样的,损失恒定的现象。在网上搜了一些解决方案后,需要用户去花精力构造正负样本,我不喜欢这样的东西,所以开始看了自监督的论文,毕竟都是学表示。也发现自监督会在一段时间内成为未来的视觉领域的主流,正好我做的东西和自监督也算相关,做一个论文整理。包括了 MoCo,SimCLR,SimSiam 和 Barlow Twins。

模型崩塌,也就是模型为了偷懒,无论什么图片都会输出同样表示,这样结果 loss 很小,然后却没学到任何东西。

今天来写什么呢?准备整理一些多线程的东西,虽然多线程相对很熟悉了,可每次工程中都会有新的收获。这次不谈多线程的理论问题,毕竟计算机专业都懂多线程的理论并写过相关程序,也了解其使用的背景。之前使用多线程的时候,总是看一看加速比和结果是否准确就完了,那么这次以多线程使用者和多线程设计者的角度出发,来谈一谈如何更好的使用和设计多线程。

本来是想直接写下的,半路除了点问题,写一篇中吧。具体出了什么意外呢?当然是自己不太熟悉的 git 操作,实在是缺乏和别人一起开发项目的经验。后来又陆续有一些其他的收获,一并整理。

拖更了两个月,不知道是最近无事发生还是之前太能写了,这期间发生了很多事,现实与虚幻并存,度过目前的难关以后再慢慢吐槽吧。决定更新一篇工程开发经验的文章,无技术细节。

亿点点项目总结。大概是第一次接这么正规的项目,从代码要求、提交规范、开发流程、开发需求、测试流程到文档撰写,虽然其中有不尽人意的地方,但也算正规。按时间流程说吧。

承接移动语义,来更新智能指针,上文说到 unique_ptr 也会用到移动语义的东西。由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,一旦忘记 delete 或者程序过早退出而没有 delete,导致内存泄漏总是不好的。内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存,从而造成了内存的浪费。

所以,能不能有一种东西的存在,使用 new 创建对象后,对象作用域消失时,能不能自动析构并调用 delete?手动管理过程繁琐且容易出错,那么尝试通过智能指针来实现这一管理过程。

最近会有一些去年 11 月写的的存货博客发布,我眼中匿名函数最重要的一点:对数据的闭包。

接了一个华为的 C++ 项目,一方面是整个 C++ 项目练练手,一方面是督促自己把一些高级特性学完,然后水一下好久不更新的博客。目前准备更新:匿名函数、智能指针、右值和移动语义,内存模型放到之后了,我目前的功力还写不了这个。这篇博客涉及右值和移动语义,甚至可以关联到 explicit 和函数进阶,不得不说 C++ 的水太深了。