0%

概述

2019年的时候,写了一篇博客来记录博客历史的迁移记录,这两年又经过工作变化、硬盘损坏,博客也是几经变迁。

尝试了基于Go的hugo框架,总体美观度和Hexo还是没法比,因此还是切换回了Hexo,换用了默认的landscape主题,重心放到有效的内容的记录上。评论系统还是采用valine,而在landscape下,设置valine还比Next复杂一些,我从这里 看到除了配置landscape项目,还需要在ejs文件里面设置,这里记录下。

阅读全文 »

C++ 耗时统计代码片段

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <chrono>

typedef std::chrono::milliseconds ms;
using clk = std::chrono::system_clock;

void do_my_work() {
// work code here

}

int main() {
auto begin_time = clk::now();
do_my_work();
auto end_time = clk::now();

auto duration_nn = std::chrono::duration_cast<ms>(end_time - begin_time);
std::cout << "timecost: " << (double)duration_nn.count() << " ms" << std::endl;
return 0;
}

命令
shift-v: 选择一整行

*:向下搜索光标所在的词
#:向上搜索光标所在的词

w: 移动到下一个单词
b: 移动到上一个单词
F: 搜索当前行光标前的字母
<n>G: 移动到第n行行首
ctrl-e: 屏幕向下移动,效果同j

dgg: 删除文档开头到当前行的内容
dG: 删除当前行到文档末尾的内容
ggdG: 删除文档所有内容

dip: 删除当前行所在段落(到下一个空行)

在Pytorch里面使用交叉熵loss函数的时候,发现结果最是比较差,通过搜索才发现这样一段话:

You should pass raw logits to nn.CrossEntropyLoss, since the function itself applies F.log_softmax and nn.NLLLoss() on the input.

也就是用交叉熵损失的时候,不能在网络的最后用 log_softmax 或者 Softmax层,因为交叉熵损失相当与是 log_softmax + NLLLos的组合。

如果网络最后用了Softmax层的话,需要使用 NLLLoss 或者 MSE loss

参考:

  1. https://discuss.pytorch.org/t/logsoftmax-vs-softmax/21386/9

这里列出了我平时关注的一些技术博客列表,希望给看到这个页面的你一些新的知识来源:

  1. https://ruanyifeng.com/ 阮一峰的网络日志,应该不需要我介绍他是谁了吧
  2. https://ring0.me/ 科大师兄的网站
  3. http://blog.devtang.com/
  4. https://www.yejianye.com/
  5. https://ewind.us/
  6. https://www.barretlee.com/entry/
  7. https://www.hahack.com/

另外发现,最近大家不怎么更新自己的博客了,至于为什么,我想了几个可能的原因。

一个是缺少来自用户的反馈,或者激励。大部分博客,来自读者的反馈少,不像知乎,微信公众号,有方便及时的用户反馈和激励(点赞,在看,收藏),反馈少对作者写作的积极性应该还是很有很大影响的。

另一个是写博客还是有一定成本的。自己搭建的博客,需要自己维护环境,不像公众号和知乎,打开网页就能写,实时保存草稿。

在中文互联网越来越碎片化和圈地化的今天,希望独立的技术博客能给我们带来新的思路,新的启发,新的激动人心的东西。

概述

最近在学习Libtorch——即Pytorch的C++版本,需要使用 Pytorch 导出的 tensor 以便对模型进行 debug。下面是转换代码,总体原理是将 tensor 转换为二进制数据,再在 C++ 里面读入。

阅读全文 »

概述

doctest 是 python 系统库中用于交互式会话例子测试的工具,用于搜索以 >>> 开头的语句,并且将其作为Python命令,对结果进行测试。

这个工具可以方便地用于检测自己写的库是否有bug,例如某些函数功能可能发生改变,借此工具可以方便地对代码中的示例语句进行测试。

阅读全文 »

C++17标准库里面引入了轻量级的只读字符串表示类型string_view,用来替代const char*const string&,在传入函数的时候减小内存开销(因为string_view类只包含字符串的指针和字符串的长度值,开销小于string类型)。

阅读全文 »

0. 概述

Python有各种各样的系统包和第三方开发的包,让我们的开发变得异常容易。不过也引入了一个问题,不同代码需要的包版本可能是不一样的,所以常常回出现这种情况,为了代码B修改了依赖包的版本,代码B能work了,之前使用的代码A就没法正常工作了。因此常常需要对不同的代码设置不同的Python虚拟环境。venv是Python自带的虚拟环境管理工具,使用很方便,这里简单记录一下使用方法。

阅读全文 »

2020流水记录

新的一年又开始了,记录一下2020年发生的一些事情,作为对这不平凡的一年的简单的回顾。

1月14日,农历腊月二十,我和彤彤在我家结婚了,作为主人翁参与其中,是一种很神奇却很美好的感觉,结婚的大小事情都是爸妈和村里的亲戚邻居一起来做的,很感谢爸妈亲戚邻居们的付出,让寒冬里面的腊月二十热闹而温暖。

关于结婚几天发生的事情,我写了一些流水账记录,不过后面没有完全写完,等有空了再回忆回忆,完全写完再发出来吧,也算是给自己一个交代。

总之非常感谢所有人的帮助和支持。

阅读全文 »