Category: 深度学习

每次训练自动备份源码的脚本

我们运行深度学习任务时,常常要改改代码就跑个实验,同时跑很多个,时间久了可能会忘记 TensorBoard 上相应的训练任务都改了什么。 这种情况下,记录下每次运行任务时的源码状态就变得非常有必要。这里有很多方法,比如用git保存相应版本之类的。由于通常情况下深度学习的代码文件都非常少(可能也就几十[......] …...

PyTorch 常见问题整理

最近刚刚开始从 Keras 换成 PyTorch,在使用过程中可能会遇到一些常见的问题,做一些整理。 1 Loss 为 NaN 可以在 python 文件头部使用如下函数打开 nan 检查: Python torch.autograd.set_detect_anomaly(True) 1 torch.autograd.set_detect_anomaly(True) 如果遇到了 nan 的 Ten[......] 继续阅读 >>...

几何深度学习(Geometry Deep Learning)相关工作汇总

深度学习喜欢 End-to-End 解决问题,中间过程有比较多的黑盒,在很多很难完整描述出数学模型的识别类任务中表现尤为出色。但是在传统的几何里面,很多工作是有比较好的数学基础的(比如摄影几何、李群与李代数、BA等等),如果抛弃这些理论全盘黑盒方式解决,有时未必有很好的效果。 因此对于 Geomet[......] 继续阅读 >>...

论文笔记:Deep ChArUco: Dark ChArUco Marker Pose Estimation

ChArUco 在相机标定中比较常用,同时在一些 AR 应用中也有涉及。这篇文章是针对 ChArUcho 这个矩阵二维码使用 Deep Learning 方法进行姿态估计,取得了比传统方法更佳鲁棒的结果(似乎可以为标志检测之类)。 文章主要贡献在于: 1、两个网络 ChArUcoNet 和 Re[......] 继续阅读 >>...

论文笔记:Dynamic Graph CNN for Learning on Point Clouds

DGCNN 是对 PointNet 的改进,PointNet 网络每个点单独提取特征缺乏局部关联。DGCNN 提出了 EdgeConv 就是对它的改进。 1 网络结构 DGCNN 网络结构如下图所示,可以看出其整体架构和 PointNet 是基本一致的,主要区别就是将其中的 MLP 替换成了 E[......] 继续阅读 >>...

EM估计(Expectation Maximization Algorithm)

这篇文章实际上是Ng在CS229上一个课程讲座。因为EM估计也很常用,特别是语义SLAM里面,这里根据一些粗浅的理解做一个总结备忘。 EM算法1是分为E(期望)和M(极大)的两步迭代优化算法,主要用于解决数据缺失情况下的概率估计问题。这个数据缺失其实不太好理解,有一个男女生身高的经典例子比较形象2[......] 继续阅读 >>...

论文笔记:NetVLAD: CNN architecture for weakly supervised place recognition

NetVLAD1是一个较早的使用 CNN 来进行图像检索或者视频检索的工作,后续在此工作的基础上陆续出了很多例如 NetRVLAD、NetFV、NetDBoW 等等的论文,思想都是大同小异。 一、图像检索 VLAD 和 BoW、Fisher Vector 等都是图像检索领域的经典方法,这[......] 继续阅读 >>...

Tensorflow C API 从训练到部署:使用 C API 进行预测和部署

前述博文 Tensorflow C++ 从训练到部署(2):简单图的保存、读取与 CMake 编译 和 Tensorflow C++ 从训练到部署(3):使用 Keras 训练和部署 CNN 使用 Tensorflow/Keras 的 Python API 进行训练,并使用 C++ API 进行了预[......] 继续阅读 >>...