PyTorch 可以通过 torch.nn.DataParallel
直接切分数据并行在单机多卡上,实践证明这个接口并行力度并不尽如人意,主要问题在于数据在 master 上处理然后下发到其他 slaver 上训练,而且由于 GIL 的存在只有计算是并行的。torch.distributed
提供了更好的接口和并行方式,搭配多进程接口 torch.multiprocessing
可以提供更加高效的并行训练。
机器学习中熵、交叉熵和 KL 散度的介绍
我在之前的文章:机器学习中关于熵的一些概念 已经记录了机器学习中一些常见的关于熵的概念,最近看到一篇关于交叉熵和 KL 散度的英文文章,觉得不错,就大概翻译记录一下。