DeepPose 实现中遇到的问题:Any input produce the same output

Background

正在实现 DeepPose proposed in this paper

大概就是查了四天的一个bug:

任何输入的图片返回的结果都是一个相同的人形(相对位置)且位置基本不变(绝对位置)

所幸的是在第三天快结束的时候不抱希望的上网查了查发现竟然有很多同样的状况 caffe output same – Google 搜索

然后就浏览了 github, Google Groups, Stack Overflow 上的post

其中github上的最helpful,信息量也最多

Any input produce the same output · I[……]

Read more

Caffe 源码阅读实践 WeightedEuclideanLossLayer 的实现

需求

需要这个层的原因是在复现 DeepPose 的时候,paper中有这么一句

It should be noted, that the above objective can be used even if for some images not all joints are labeled. In this case, the corresponding terms in the sum would be omitted.

所以这个omitted 就把他当做 weighted 吧

参考

动手前先好好学习了下caffe的源码结构和数据类型

Caffe解读1 — Pin[……]

Read more

Caffe 深度学习模型训练全过程

经过一星期的折腾,终于搞明白大致怎么使用caffe了,一下按序罗列下训练过程以及期间使用的某些技巧

未完成,有待继续学习

数据准备与处理

数据文件

lmdb 数据库 mnist_train_lmdb & mnist_test_lmdb

均值文件 imagenet_mean.binaryproto 生成均值文件命令 compute_image_mean [train_lmdb] [mean.binaryproto]

Data层

参考:caffe | Layers

caffe 主要是讲一下caffe对不同的数据类型的处理(二)

从图像转换为数据库

参考:Caffe 入门[……]

Read more

Caffe CPU-only Installation on macOS 10.13.5 High Sierra 2018-06-19

安装环境:macos,没有英伟达GPU,没有anaconda python

声明:不保证能生效,仅记录自己的过程

踩了点坑,记录下安装过程

先安装依赖项目

brew install --fresh -vd snappy leveldb gflags glog szip lmdb opencv hdf5
brew install --build-from-source --with-python --fresh -vd protobuf
brew install --build-from-source --fresh -vd boost boost-python

然后[……]

Read more

深度学习&卷积神经网络学习笔记(一)基础

设计

全连接神经网络

没有良好的不变性

解决方法:一般是大量数据+增加层数/让不同位置有不同权值

卷积神经网络

  • 局部连接:感受野(窗口)、局部线性组合:filter(kernel)
  • 空间共享:参数减少、权值共享
  • stride、Feature Map
  • depth维度上fully-connected,权值不共享
  • Zero padding
  • 多filters:新的depth维度
  • 非线性激活函数:sigmoid、ReLU等
  • 卷积层的输入与输出
  • Vectorization
  • pooling:Max pooling等,去除feature map中的冗余信息
  • 最后:全连接层
  • 特征抓取层(自动学习特[……]

Read more