Need help with pytorch-FCN-easiest-demo?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

bat67
159 Stars 73 Forks Other 17 Commits 4 Opened issues

Description

PyTorch Implementation of Fully Convolutional Networks (a very simple and easy demo).

Services available

!
?

Need anything else?

Contributors list

# 40,573
Jupyter...
deep-le...
pytorch
python3
17 commits

pytorch FCN easiest demo

不断更新中~

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

数据集示意图

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

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

部分代码参考了这个repo

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

可视化1 可视化2

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 具体操作

  • 打开终端,输入
    sh
    python -m visdom.server
    
  • 打开另一终端,输入
    sh
    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编码

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.