100层Tiramisu: 用于语义分割的全卷积DenseNets
The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation
该文章提供了示例代码可以fork FC-DenseNet,其中数据集的加载在dataset_loaders,在github上看到了使用kears重新实现的网络One-Hundred-Layers-Tiramisu
论文阅读
该文章主要是将DenseNets应用到了FCN中,增加了分割的精度,在CamVid数据集上获得了state of the art的精度,下面是分割结果示意结果。
该网络架构如下所示:
代码运行相关问题
依赖Theano和Lasagne,Theano的版本为0.9即可
pip install theano==0.9
这里因为Lasagne使用最新版的,所以需要下载源码然后编译安装,另外Theano使用gpu需要pygpu,下载libgpuarray代码然后按照安装教程安装即可。
git clone https://github.com/Theano/libgpuarray.git
cd libgpuarray
mkdir Build
cd Build
# you can pass -DCMAKE_INSTALL_PREFIX=/path/to/somewhere to install to an alternate location
cmake .. -DCMAKE_BUILD_TYPE=Release # or Debug if you are investigating a crash
make
sudo make install
cd ..
# This must be done after libgpuarray is installed as per instructions above.
python setup.py build
python setup.py install
sudo ldconfig
除了安装pygpu外,theano同时也使用了cudnn,下述安装cudnn。
tar xvf cudnn-7.5-linux-x64-v5.1.tgz
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
ImportError: cannot import name downsample