资源算法pytorch-FCN-easiest-demo

pytorch-FCN-easiest-demo

2019-12-25 | |  42 |   0 |   0

pytorch FCN easiest demo

不断更新中~

这个repo是在读论文Fully Convolutional Networks for Semantic Segmentation时的一个pytorch简单复现,数据集很小,是一些随机背景上的一些包的图片(所有数据集大小一共不到80M),如下图

task.png

关于此数据集详细信息,见数据集

根据论文实现了FCN32s、FCN16s、FCN8s和FCNs

部分代码参考了这个repo

使用visdom可视化,运行了20个epoch后的可视化如下图:

vis1.jpgvis2.jpg

1.如何运行

1.1 我的运行环境

  • Windows 10

  • CUDA 9.x (可选)

  • Anaconda 3 (numpy、os、datetime、matplotlib)

  • pytorch == 0.4.1 or 1.0

  • torchvision == 0.2.1

  • visdom == 0.1.8.5

  • OpenCV-Python == 3.4.1

1.2 具体操作

  • 打开终端,输入

python -m visdom.server
  • 打开另一终端,输入

python train.py
  • 若没有问题可以打开浏览器输入http://localhost:8097/来使用visdom可视化

1.3 训练细节

2. 数据集

  • training data来自这里,ground-truth来自这里

  • 链接中提供的图片中,部分ground-truth的有误,而且部分有ground-truth的图片没有对应training data的图片,将这些有错误的图片分别剔除,重新编号排序之后剩余533张图片。

  • 之后我随机选取了67张图片旋转180度,一共在training data和ground-truth分别凑够600张图片(0.jpg ~ 599.jpg)。

3. 可视化

  • train prediction:训练时模型的输出

  • label:ground-truth

  • test prediction:预测时模型的输出(每次训练都会预测,但预测数据不参与训练与backprop)

  • train iter loss:训练时每一批(batch)的loss情况

  • test iter loss:测试时每一批(batch)的loss情况

4. 包含文件

4.1 train.py

  • 训练网络与可视化

  • 主函数

4.2 FCN.py

  • FCN32s、FCN16s、FCN8s、FCNs网络定义

  • VGGNet网络定义、VGG不同种类网络参数、构建VGG网络的函数

4.3 BagData.py

  • 定义方便PyTorch读取数据的Dataset和DataLoader

  • 定义数据的变换transform

4.4 onehot.py

  • 图片的onehot编码


上一篇:FCN-pytorch

下一篇:FCN-pytorch-easiest

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...