pytorch中储存多个model对象不能使用list,而是应该使用pytorch提供的ModuleList。
跨语言检索综述
论文阅读:A Study of Neural Matching Models for Cross-lingual IR
目前已经有许多使用跨语言词向量(CLWE)实现的跨语言检索(CLIR)模型,但是没有人尝试过在CLWE上直接使用经典的单语言检索模型。本论文论证了可行性,并进行了实验。结果表明基于匹配的单语言检索模型可以不加修改的在CLWE上进行CLIR任务。
(转向做CLIR后读的第一篇论文,也是我后续工作的基础)
centos 7创建带参数的自启动服务
如何利用centos 7自带的service创建自启服务。
tensorflow的计算图机制
在实现变分词嵌入版的itag时,我被tensorflow的上古老版本和新版之间的差异折腾麻了,但折腾的过程也让我了解到了很多tensorflow的底层机制。尤其是一大堆eager Excution执行模式的相关报错让我充分了解了计算图机制。
自定义层报错:ValueError: An operation has `None` for gradient.
一个在tensorflow中实现自定义层时可能出现的报错。
tensorflow的显存占用机制
即使你用tensorflow或者keras跑一个非常简单的模型,你也会发现你的显存全被占完了,这和tensorflow的显存占用机制有关。
pytorch中deepcopy/detach/clone、view/reshape的区别
两个关于pytorch的小tips。在折腾变分词嵌入时,我被复杂损失函数弄得头大,因而试图将变分词嵌入在pytorch上实现,不过最后没实现成,但折腾途中了解了一些别的知识。
(大概是2020年6月左右的事)
如何在keras中实现复杂的损失函数
keras框架要求给定的损失函数有且只有y_pre和y_true两个入参。但许多损失函数并不是这个格式,比如推荐系统中用到的三元组损失,又比如变分词嵌入中变分推断模型的损失函数。因而需要用一些“奇技淫巧”才能在keras中实现复杂损失函数。