★★★ 本文源自AlStudio社区精品项目,【点击此处】查看更多精品内容 >>>

一、项目背景

在实际产品开发周期中,我们无法一次性获取足够多的样本;随着产品上线,不断地一批批积累样本,又需要大量的人工标注,非常耗时。如何循环迭代,把标注样本和训练模型相结合,相互促进? 本项目是在实践中摸索出的一点经验,分享给大家。

二、项目方案

基于“高效的半自动标注工具PaddleSeg”,增加一些环节,形成完整的闭环:以眼底数据集为例,本项目会演示如何进行半自动化交互标注和训练相结合的所有环节。

1.使用首批数据训先练一个模型;

2.用此模型预测新的一批数据并给出标签,此标签可能不精确;

3.人工修改上述标签,得到这批数据精确的标签;

4.把新数据和标签加入到原始训练样本集中;

5.重新训练一个新模型;

三、下载代码并配置环境

此fork版本的代码中包含本项目对predict.py的修改。

!git clone -b release/2.8 https://github.com/chunyuwei/PaddleSeg.git
正克隆到 'PaddleSeg'...
remote: Enumerating objects: 25123, done.[K
remote: Counting objects: 100% (7/7), done.[K
remote: Compressing objects: 100% (7/7), done.[K
remote: Total 25123 (delta 2), reused 2 (delta 0), pack-reused 25116[K
接收对象中: 100% (25123/25123), 348.83 MiB | 17.61 MiB/s, 完成.
处理 delta 中: 100% (16316/16316), 完成.
检查连接... 完成。
%cd ~/PaddleSeg
!pip install -r requirements.txt
!pip install opencv-python==4.5.5.64 -i https://mirror.baidu.com/pypi/simple 
!pip uninstall paddleseg -y
!python setup.py build
!python setup.py install
/home/aistudio/PaddleSeg
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: pyyaml>=5.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (5.1.2)
Requirement already satisfied: visualdl>=2.2.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 2)) (2.4.0)
Requirement already satisfied: opencv-python<=4.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 3)) (4.5.5.64)
Requirement already satisfied: tqdm in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 4)) (4.27.0)
Requirement already satisfied: filelock in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 5)) (3.0.12)
Requirement already satisfied: scipy in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 6)) (1.6.3)
Requirement already satisfied: prettytable in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 7)) (0.7.2)
Requirement already satisfied: scikit-learn in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 8)) (0.24.2)
Requirement already satisfied: eiseg==1.1.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 9)) (1.1.1)
Requirement already satisfied: qtpy in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (2.3.1)
Requirement already satisfied: requests in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (2.24.0)
Requirement already satisfied: wget in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (3.2)
Requirement already satisfied: scikit-image in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (0.19.3)
Requirement already satisfied: protobuf==3.20.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (3.20.0)
Requirement already satisfied: pyqt5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (5.15.9)
Requirement already satisfied: albumentations in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (1.3.0)
Requirement already satisfied: paddleseg in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (2.8.0)
Requirement already satisfied: easydict in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (1.9)
Requirement already satisfied: cython in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from eiseg==1.1.1->-r requirements.txt (line 9)) (0.29)
Requirement already satisfied: flask>=1.1.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (1.1.1)
Requirement already satisfied: Flask-Babel>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (1.0.0)
Requirement already satisfied: six>=1.14.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (1.16.0)
Requirement already satisfied: numpy in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (1.19.5)
Requirement already satisfied: bce-python-sdk in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (0.8.53)
Requirement already satisfied: pandas in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (1.1.5)
Requirement already satisfied: Pillow>=7.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (8.2.0)
Requirement already satisfied: matplotlib in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.0->-r requirements.txt (line 2)) (2.2.3)
Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-learn->-r requirements.txt (line 8)) (2.1.0)
Requirement already satisfied: joblib>=0.11 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-learn->-r requirements.txt (line 8)) (0.14.1)
Requirement already satisfied: click>=5.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.1->visualdl>=2.2.0->-r requirements.txt (line 2)) (7.0)
Requirement already satisfied: Werkzeug>=0.15 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.1->visualdl>=2.2.0->-r requirements.txt (line 2)) (0.16.0)
Requirement already satisfied: Jinja2>=2.10.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.1->visualdl>=2.2.0->-r requirements.txt (line 2)) (3.0.0)
Requirement already satisfied: itsdangerous>=0.24 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.1->visualdl>=2.2.0->-r requirements.txt (line 2)) (1.1.0)
Requirement already satisfied: Babel>=2.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Flask-Babel>=1.0.0->visualdl>=2.2.0->-r requirements.txt (line 2)) (2.8.0)
Requirement already satisfied: pytz in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Flask-Babel>=1.0.0->visualdl>=2.2.0->-r requirements.txt (line 2)) (2019.3)
Requirement already satisfied: opencv-python-headless>=4.1.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from albumentations->eiseg==1.1.1->-r requirements.txt (line 9)) (4.7.0.72)
Requirement already satisfied: qudida>=0.0.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from albumentations->eiseg==1.1.1->-r requirements.txt (line 9)) (0.0.4)
Requirement already satisfied: tifffile>=2019.7.26 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-image->eiseg==1.1.1->-r requirements.txt (line 9)) (2021.11.2)
Requirement already satisfied: imageio>=2.4.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-image->eiseg==1.1.1->-r requirements.txt (line 9)) (2.6.1)
Requirement already satisfied: networkx>=2.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-image->eiseg==1.1.1->-r requirements.txt (line 9)) (2.4)
Requirement already satisfied: PyWavelets>=1.1.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-image->eiseg==1.1.1->-r requirements.txt (line 9)) (1.3.0)
Requirement already satisfied: packaging>=20.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-image->eiseg==1.1.1->-r requirements.txt (line 9)) (21.3)
Requirement already satisfied: pycryptodome>=3.8.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from bce-python-sdk->visualdl>=2.2.0->-r requirements.txt (line 2)) (3.9.9)
Requirement already satisfied: future>=0.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from bce-python-sdk->visualdl>=2.2.0->-r requirements.txt (line 2)) (0.18.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->visualdl>=2.2.0->-r requirements.txt (line 2)) (3.0.9)
Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->visualdl>=2.2.0->-r requirements.txt (line 2)) (2.8.2)
Requirement already satisfied: cycler>=0.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->visualdl>=2.2.0->-r requirements.txt (line 2)) (0.10.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->visualdl>=2.2.0->-r requirements.txt (line 2)) (1.1.0)
Requirement already satisfied: PyQt5-Qt5>=5.15.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pyqt5->eiseg==1.1.1->-r requirements.txt (line 9)) (5.15.2)
Requirement already satisfied: PyQt5-sip<13,>=12.11 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pyqt5->eiseg==1.1.1->-r requirements.txt (line 9)) (12.12.0)
Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->eiseg==1.1.1->-r requirements.txt (line 9)) (2019.9.11)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->eiseg==1.1.1->-r requirements.txt (line 9)) (1.25.6)
Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->eiseg==1.1.1->-r requirements.txt (line 9)) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->eiseg==1.1.1->-r requirements.txt (line 9)) (2.8)
Requirement already satisfied: MarkupSafe>=2.0.0rc2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Jinja2>=2.10.1->flask>=1.1.1->visualdl>=2.2.0->-r requirements.txt (line 2)) (2.0.1)
Requirement already satisfied: setuptools in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from kiwisolver>=1.0.1->matplotlib->visualdl>=2.2.0->-r requirements.txt (line 2)) (56.2.0)
Requirement already satisfied: decorator>=4.3.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from networkx>=2.2->scikit-image->eiseg==1.1.1->-r requirements.txt (line 9)) (4.4.2)
Requirement already satisfied: typing-extensions in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from qudida>=0.0.4->albumentations->eiseg==1.1.1->-r requirements.txt (line 9)) (4.3.0)

[1m[[0m[34;49mnotice[0m[1;39;49m][0m[39;49m A new release of pip available: [0m[31;49m22.1.2[0m[39;49m -> [0m[32;49m23.1[0m
[1m[[0m[34;49mnotice[0m[1;39;49m][0m[39;49m To update, run: [0m[32;49mpip install --upgrade pip[0m
Looking in indexes: https://mirror.baidu.com/pypi/simple
Requirement already satisfied: opencv-python==4.5.5.64 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (4.5.5.64)
Requirement already satisfied: numpy>=1.14.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from opencv-python==4.5.5.64) (1.19.5)

[1m[[0m[34;49mnotice[0m[1;39;49m][0m[39;49m A new release of pip available: [0m[31;49m22.1.2[0m[39;49m -> [0m[32;49m23.1[0m
[1m[[0m[34;49mnotice[0m[1;39;49m][0m[39;49m To update, run: [0m[32;49mpip install --upgrade pip[0m
Found existing installation: paddleseg 2.8.0
Uninstalling paddleseg-2.8.0:
  Successfully uninstalled paddleseg-2.8.0
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import MutableMapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Iterable, Mapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Sized
running build
running build_py
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import MutableMapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Iterable, Mapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Sized
running install
running bdist_egg
running egg_info
writing paddleseg.egg-info/PKG-INFO
writing dependency_links to paddleseg.egg-info/dependency_links.txt
writing requirements to paddleseg.egg-info/requires.txt
writing top-level names to paddleseg.egg-info/top_level.txt
adding license file 'LICENSE' (matched pattern 'LICEN[CS]E*')
reading manifest file 'paddleseg.egg-info/SOURCES.txt'
writing manifest file 'paddleseg.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/paddleseg
creating build/bdist.linux-x86_64/egg/paddleseg/optimizers
copying build/lib/paddleseg/optimizers/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/optimizers
copying build/lib/paddleseg/optimizers/custom_optimizers.py -> build/bdist.linux-x86_64/egg/paddleseg/optimizers
copying build/lib/paddleseg/optimizers/optimizer.py -> build/bdist.linux-x86_64/egg/paddleseg/optimizers
creating build/bdist.linux-x86_64/egg/paddleseg/deploy
copying build/lib/paddleseg/deploy/infer.py -> build/bdist.linux-x86_64/egg/paddleseg/deploy
copying build/lib/paddleseg/deploy/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/deploy
copying build/lib/paddleseg/deploy/export.py -> build/bdist.linux-x86_64/egg/paddleseg/deploy
creating build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/cvlibs/config_checker.py -> build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/cvlibs/manager.py -> build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/cvlibs/config.py -> build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/cvlibs/builder.py -> build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/cvlibs/param_init.py -> build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/cvlibs/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/cvlibs
copying build/lib/paddleseg/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg
creating build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/pp_mobileseg.py -> build/bdist.linux-x86_64/egg/paddleseg/models
creating build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/nmf_2d.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/ms_deformable_attention.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/vit_adapter_layers.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/polaried_self_attention.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/tensor_fusion_helper.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/layer_libs.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/pyramid_pool.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/nonlocal2d.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/wrap_functions.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/activation.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/tensor_fusion.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
copying build/lib/paddleseg/models/layers/attention.py -> build/bdist.linux-x86_64/egg/paddleseg/models/layers
creating build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/bootstrapped_cross_entropy.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/ohem_edge_attention_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/point_cross_entropy_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/dice_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/focal_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/decoupledsegnet_relax_boundary_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/maskformer_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/kl_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/pixel_contrast_cross_entropy_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/binary_cross_entropy_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/semantic_encode_cross_entropy_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/mean_square_error_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/cross_entropy_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/mixed_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/edge_attention_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/detail_aggregate_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/l1_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/gscnn_dual_task_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/lovasz_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/rmi_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/semantic_connectivity_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/losses/ohem_cross_entropy_loss.py -> build/bdist.linux-x86_64/egg/paddleseg/models/losses
copying build/lib/paddleseg/models/lpsnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/ddrnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/espnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/isanet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/attention_unet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/unet_plusplus.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/lraspp.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/pphumanseg_lite.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/enet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/danet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/deeplab.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/espnetv1.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/mla_transformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/segnext.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/ocrnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/upernet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/stdcseg.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/mscale_ocrnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/dnlnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/pspnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
creating build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/vision_transformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/top_transformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/cae.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/vit_adapter.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/mix_transformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/mscan.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/transformer_utils.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/resnet_vd.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/mobilenetv3.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/strideformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/lite_hrnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/swin_transformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/hrformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/stdcnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/mobilenetv2.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/uhrnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/hrnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/shufflenetv2.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/ghostnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/backbones/xception_deeplab.py -> build/bdist.linux-x86_64/egg/paddleseg/models/backbones
copying build/lib/paddleseg/models/gcnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/segformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/dmnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/unet_3plus.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/glore.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/sinet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/ann.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/hardnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/pp_liteseg.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/encnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/sfnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/pfpnnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/ginet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/rtformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/maskformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/mobileseg.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/fastfcn.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/u2net.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/bisenet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/pointrend.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/ccnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/upernet_cae.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/segmenter.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/unet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/segnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/gscnn.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/portraitnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/decoupled_segnet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/fcn.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/topformer.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/bisenetv1.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/setr.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/knet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/emanet.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/hrnet_contrast.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/fast_scnn.py -> build/bdist.linux-x86_64/egg/paddleseg/models
copying build/lib/paddleseg/models/upernet_vit_adapter.py -> build/bdist.linux-x86_64/egg/paddleseg/models
creating build/bdist.linux-x86_64/egg/paddleseg/transforms
copying build/lib/paddleseg/transforms/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/transforms
copying build/lib/paddleseg/transforms/transforms.py -> build/bdist.linux-x86_64/egg/paddleseg/transforms
copying build/lib/paddleseg/transforms/functional.py -> build/bdist.linux-x86_64/egg/paddleseg/transforms
creating build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/timer.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/visualize.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/progbar.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/op_flops_funs.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/ema.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/download.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/metrics.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/utils.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
copying build/lib/paddleseg/utils/train_profiler.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
creating build/bdist.linux-x86_64/egg/paddleseg/utils/env
copying build/lib/paddleseg/utils/env/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/utils/env
copying build/lib/paddleseg/utils/env/seg_env.py -> build/bdist.linux-x86_64/egg/paddleseg/utils/env
copying build/lib/paddleseg/utils/env/sys_env.py -> build/bdist.linux-x86_64/egg/paddleseg/utils/env
copying build/lib/paddleseg/utils/logger.py -> build/bdist.linux-x86_64/egg/paddleseg/utils
creating build/bdist.linux-x86_64/egg/paddleseg/core
copying build/lib/paddleseg/core/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/core
copying build/lib/paddleseg/core/val.py -> build/bdist.linux-x86_64/egg/paddleseg/core
copying build/lib/paddleseg/core/train.py -> build/bdist.linux-x86_64/egg/paddleseg/core
copying build/lib/paddleseg/core/infer.py -> build/bdist.linux-x86_64/egg/paddleseg/core
copying build/lib/paddleseg/core/predict.py -> build/bdist.linux-x86_64/egg/paddleseg/core
creating build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/drive.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/cocostuff.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/eg1800.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/pascal_context.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/chase_db1.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/supervisely.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/cityscapes.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/voc.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/optic_disc_seg.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/mini_deep_globe_road_extraction.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/__init__.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/dataset.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/hrf.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/ade.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/pssl.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/stare.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
copying build/lib/paddleseg/datasets/pp_humanseg14k.py -> build/bdist.linux-x86_64/egg/paddleseg/datasets
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/optimizers/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/optimizers/custom_optimizers.py to custom_optimizers.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/optimizers/optimizer.py to optimizer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/deploy/infer.py to infer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/deploy/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/deploy/export.py to export.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/cvlibs/config_checker.py to config_checker.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/cvlibs/manager.py to manager.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/cvlibs/config.py to config.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/cvlibs/builder.py to builder.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/cvlibs/param_init.py to param_init.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/cvlibs/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/pp_mobileseg.py to pp_mobileseg.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/nmf_2d.py to nmf_2d.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/ms_deformable_attention.py to ms_deformable_attention.cpython-37.pyc
build/bdist.linux-x86_64/egg/paddleseg/models/layers/ms_deformable_attention.py:107: DeprecationWarning: invalid escape sequence \s
  """
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/vit_adapter_layers.py to vit_adapter_layers.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/polaried_self_attention.py to polaried_self_attention.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/tensor_fusion_helper.py to tensor_fusion_helper.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/layer_libs.py to layer_libs.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/pyramid_pool.py to pyramid_pool.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/nonlocal2d.py to nonlocal2d.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/wrap_functions.py to wrap_functions.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/activation.py to activation.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/tensor_fusion.py to tensor_fusion.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/layers/attention.py to attention.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/bootstrapped_cross_entropy.py to bootstrapped_cross_entropy.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/ohem_edge_attention_loss.py to ohem_edge_attention_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/point_cross_entropy_loss.py to point_cross_entropy_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/dice_loss.py to dice_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/focal_loss.py to focal_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/decoupledsegnet_relax_boundary_loss.py to decoupledsegnet_relax_boundary_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/maskformer_loss.py to maskformer_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/kl_loss.py to kl_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/pixel_contrast_cross_entropy_loss.py to pixel_contrast_cross_entropy_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/binary_cross_entropy_loss.py to binary_cross_entropy_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/semantic_encode_cross_entropy_loss.py to semantic_encode_cross_entropy_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/mean_square_error_loss.py to mean_square_error_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/cross_entropy_loss.py to cross_entropy_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/mixed_loss.py to mixed_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/edge_attention_loss.py to edge_attention_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/detail_aggregate_loss.py to detail_aggregate_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/l1_loss.py to l1_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/gscnn_dual_task_loss.py to gscnn_dual_task_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/lovasz_loss.py to lovasz_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/rmi_loss.py to rmi_loss.cpython-37.pyc
build/bdist.linux-x86_64/egg/paddleseg/models/losses/rmi_loss.py:78: DeprecationWarning: invalid escape sequence \i
  """
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/semantic_connectivity_loss.py to semantic_connectivity_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/losses/ohem_cross_entropy_loss.py to ohem_cross_entropy_loss.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/lpsnet.py to lpsnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/ddrnet.py to ddrnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/espnet.py to espnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/isanet.py to isanet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/attention_unet.py to attention_unet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/unet_plusplus.py to unet_plusplus.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/lraspp.py to lraspp.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/pphumanseg_lite.py to pphumanseg_lite.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/enet.py to enet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/danet.py to danet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/deeplab.py to deeplab.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/espnetv1.py to espnetv1.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/mla_transformer.py to mla_transformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/segnext.py to segnext.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/ocrnet.py to ocrnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/upernet.py to upernet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/stdcseg.py to stdcseg.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/mscale_ocrnet.py to mscale_ocrnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/dnlnet.py to dnlnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/pspnet.py to pspnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/vision_transformer.py to vision_transformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/top_transformer.py to top_transformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/cae.py to cae.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/vit_adapter.py to vit_adapter.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/mix_transformer.py to mix_transformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/mscan.py to mscan.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/transformer_utils.py to transformer_utils.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/resnet_vd.py to resnet_vd.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/mobilenetv3.py to mobilenetv3.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/strideformer.py to strideformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/lite_hrnet.py to lite_hrnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/swin_transformer.py to swin_transformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/hrformer.py to hrformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/stdcnet.py to stdcnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/mobilenetv2.py to mobilenetv2.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/uhrnet.py to uhrnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/hrnet.py to hrnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/shufflenetv2.py to shufflenetv2.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/ghostnet.py to ghostnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/backbones/xception_deeplab.py to xception_deeplab.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/gcnet.py to gcnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/segformer.py to segformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/dmnet.py to dmnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/unet_3plus.py to unet_3plus.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/glore.py to glore.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/sinet.py to sinet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/ann.py to ann.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/hardnet.py to hardnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/pp_liteseg.py to pp_liteseg.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/encnet.py to encnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/sfnet.py to sfnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/pfpnnet.py to pfpnnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/ginet.py to ginet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/rtformer.py to rtformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/maskformer.py to maskformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/mobileseg.py to mobileseg.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/fastfcn.py to fastfcn.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/u2net.py to u2net.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/bisenet.py to bisenet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/pointrend.py to pointrend.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/ccnet.py to ccnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/upernet_cae.py to upernet_cae.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/segmenter.py to segmenter.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/unet.py to unet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/segnet.py to segnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/gscnn.py to gscnn.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/portraitnet.py to portraitnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/decoupled_segnet.py to decoupled_segnet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/fcn.py to fcn.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/topformer.py to topformer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/bisenetv1.py to bisenetv1.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/setr.py to setr.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/knet.py to knet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/emanet.py to emanet.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/hrnet_contrast.py to hrnet_contrast.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/fast_scnn.py to fast_scnn.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/models/upernet_vit_adapter.py to upernet_vit_adapter.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/transforms/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/transforms/transforms.py to transforms.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/transforms/functional.py to functional.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/timer.py to timer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/visualize.py to visualize.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/progbar.py to progbar.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/op_flops_funs.py to op_flops_funs.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/ema.py to ema.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/download.py to download.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/metrics.py to metrics.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/utils.py to utils.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/train_profiler.py to train_profiler.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/env/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/env/seg_env.py to seg_env.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/env/sys_env.py to sys_env.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/utils/logger.py to logger.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/core/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/core/val.py to val.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/core/train.py to train.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/core/infer.py to infer.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/core/predict.py to predict.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/drive.py to drive.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/cocostuff.py to cocostuff.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/eg1800.py to eg1800.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/pascal_context.py to pascal_context.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/chase_db1.py to chase_db1.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/supervisely.py to supervisely.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/cityscapes.py to cityscapes.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/voc.py to voc.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/optic_disc_seg.py to optic_disc_seg.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/mini_deep_globe_road_extraction.py to mini_deep_globe_road_extraction.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/dataset.py to dataset.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/hrf.py to hrf.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/ade.py to ade.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/pssl.py to pssl.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/stare.py to stare.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/paddleseg/datasets/pp_humanseg14k.py to pp_humanseg14k.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying paddleseg.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying paddleseg.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying paddleseg.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying paddleseg.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying paddleseg.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/paddleseg-2.8.0-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing paddleseg-2.8.0-py3.7.egg
Copying paddleseg-2.8.0-py3.7.egg to /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Adding paddleseg 2.8.0 to easy-install.pth file

Installed /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg-2.8.0-py3.7.egg
Processing dependencies for paddleseg==2.8.0
Searching for EISeg==1.1.1
Best match: EISeg 1.1.1
Adding EISeg 1.1.1 to easy-install.pth file
Installing eiseg script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for scikit-learn==0.24.2
Best match: scikit-learn 0.24.2
Adding scikit-learn 0.24.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for prettytable==0.7.2
Best match: prettytable 0.7.2
Adding prettytable 0.7.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for scipy==1.6.3
Best match: scipy 1.6.3
Adding scipy 1.6.3 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for filelock==3.0.12
Best match: filelock 3.0.12
Adding filelock 3.0.12 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for tqdm==4.27.0
Best match: tqdm 4.27.0
Adding tqdm 4.27.0 to easy-install.pth file
Installing tqdm script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for opencv-python==4.5.5.64
Best match: opencv-python 4.5.5.64
Adding opencv-python 4.5.5.64 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for visualdl==2.4.0
Best match: visualdl 2.4.0
Adding visualdl 2.4.0 to easy-install.pth file
Installing visualdl script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for PyYAML==5.1.2
Best match: PyYAML 5.1.2
Adding PyYAML 5.1.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for requests==2.24.0
Best match: requests 2.24.0
Adding requests 2.24.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for PyQt5==5.15.9
Best match: PyQt5 5.15.9
Adding PyQt5 5.15.9 to easy-install.pth file
Installing pylupdate5 script to /opt/conda/envs/python35-paddle120-env/bin
Installing pyrcc5 script to /opt/conda/envs/python35-paddle120-env/bin
Installing pyuic5 script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for QtPy==2.3.1
Best match: QtPy 2.3.1
Adding QtPy 2.3.1 to easy-install.pth file
Installing qtpy script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for easydict==1.9
Best match: easydict 1.9
Adding easydict 1.9 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for scikit-image==0.19.3
Best match: scikit-image 0.19.3
Adding scikit-image 0.19.3 to easy-install.pth file
Installing skivi script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for wget==3.2
Best match: wget 3.2
Adding wget 3.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for albumentations==1.3.0
Best match: albumentations 1.3.0
Adding albumentations 1.3.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for protobuf==3.20.0
Best match: protobuf 3.20.0
Adding protobuf 3.20.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Cython==0.29
Best match: Cython 0.29
Adding Cython 0.29 to easy-install.pth file
Installing cygdb script to /opt/conda/envs/python35-paddle120-env/bin
Installing cython script to /opt/conda/envs/python35-paddle120-env/bin
Installing cythonize script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for joblib==0.14.1
Best match: joblib 0.14.1
Adding joblib 0.14.1 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for threadpoolctl==2.1.0
Best match: threadpoolctl 2.1.0
Adding threadpoolctl 2.1.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for numpy==1.19.5
Best match: numpy 1.19.5
Adding numpy 1.19.5 to easy-install.pth file
Installing f2py script to /opt/conda/envs/python35-paddle120-env/bin
Installing f2py3 script to /opt/conda/envs/python35-paddle120-env/bin
Installing f2py3.7 script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Flask==1.1.1
Best match: Flask 1.1.1
Adding Flask 1.1.1 to easy-install.pth file
Installing flask script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for six==1.16.0
Best match: six 1.16.0
Adding six 1.16.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for matplotlib==2.2.3
Best match: matplotlib 2.2.3
Adding matplotlib 2.2.3 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Flask-Babel==1.0.0
Best match: Flask-Babel 1.0.0
Adding Flask-Babel 1.0.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Pillow==8.2.0
Best match: Pillow 8.2.0
Adding Pillow 8.2.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for bce-python-sdk==0.8.53
Best match: bce-python-sdk 0.8.53
Adding bce-python-sdk 0.8.53 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for pandas==1.1.5
Best match: pandas 1.1.5
Adding pandas 1.1.5 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for idna==2.8
Best match: idna 2.8
Adding idna 2.8 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for chardet==3.0.4
Best match: chardet 3.0.4
Adding chardet 3.0.4 to easy-install.pth file
Installing chardetect script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for certifi==2019.9.11
Best match: certifi 2019.9.11
Adding certifi 2019.9.11 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for urllib3==1.25.6
Best match: urllib3 1.25.6
Adding urllib3 1.25.6 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for PyQt5-sip==12.12.0
Best match: PyQt5-sip 12.12.0
Adding PyQt5-sip 12.12.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for PyQt5-Qt5==5.15.2
Best match: PyQt5-Qt5 5.15.2
Adding PyQt5-Qt5 5.15.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for packaging==21.3
Best match: packaging 21.3
Adding packaging 21.3 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for networkx==2.4
Best match: networkx 2.4
Adding networkx 2.4 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for tifffile==2021.11.2
Best match: tifffile 2021.11.2
Adding tifffile 2021.11.2 to easy-install.pth file
Installing lsm2bin script to /opt/conda/envs/python35-paddle120-env/bin
Installing tiff2fsspec script to /opt/conda/envs/python35-paddle120-env/bin
Installing tiffcomment script to /opt/conda/envs/python35-paddle120-env/bin
Installing tifffile script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for PyWavelets==1.3.0
Best match: PyWavelets 1.3.0
Adding PyWavelets 1.3.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for imageio==2.6.1
Best match: imageio 2.6.1
Adding imageio 2.6.1 to easy-install.pth file
Installing imageio_download_bin script to /opt/conda/envs/python35-paddle120-env/bin
Installing imageio_remove_bin script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for qudida==0.0.4
Best match: qudida 0.0.4
Adding qudida 0.0.4 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for opencv-python-headless==4.7.0.72
Best match: opencv-python-headless 4.7.0.72
Adding opencv-python-headless 4.7.0.72 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Jinja2==3.0.0
Best match: Jinja2 3.0.0
Adding Jinja2 3.0.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for itsdangerous==1.1.0
Best match: itsdangerous 1.1.0
Adding itsdangerous 1.1.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Werkzeug==0.16.0
Best match: Werkzeug 0.16.0
Adding Werkzeug 0.16.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Click==7.0
Best match: Click 7.0
Adding Click 7.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for pytz==2019.3
Best match: pytz 2019.3
Adding pytz 2019.3 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for cycler==0.10.0
Best match: cycler 0.10.0
Adding cycler 0.10.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Adding python-dateutil 2.8.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for kiwisolver==1.1.0
Best match: kiwisolver 1.1.0
Adding kiwisolver 1.1.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for pyparsing==3.0.9
Best match: pyparsing 3.0.9
Adding pyparsing 3.0.9 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for Babel==2.8.0
Best match: Babel 2.8.0
Adding Babel 2.8.0 to easy-install.pth file
Installing pybabel script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for pycryptodome==3.9.9
Best match: pycryptodome 3.9.9
Adding pycryptodome 3.9.9 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for future==0.18.0
Best match: future 0.18.0
Adding future 0.18.0 to easy-install.pth file
Installing futurize script to /opt/conda/envs/python35-paddle120-env/bin
Installing pasteurize script to /opt/conda/envs/python35-paddle120-env/bin

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for decorator==4.4.2
Best match: decorator 4.4.2
Adding decorator 4.4.2 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for typing-extensions==4.3.0
Best match: typing-extensions 4.3.0
Adding typing-extensions 4.3.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for MarkupSafe==2.0.1
Best match: MarkupSafe 2.0.1
Adding MarkupSafe 2.0.1 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Searching for setuptools==56.2.0
Best match: setuptools 56.2.0
Adding setuptools 56.2.0 to easy-install.pth file

Using /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages
Finished processing dependencies for paddleseg==2.8.0

四、准备数据

使用标注工具PaddleSeg或者lableme标注了一批数据;

假设已经有了眼底数据集,https://paddleseg.bj.bcebos.com/dataset/optic_disc_seg.zip

数据集内容如下:

并将此数据集放入PaddleSeg/data中,以备使用。

%cd /home/aistudio
!ls
!unzip data/data209770/optic_disc_seg.zip
!mkdir -p PaddleSeg/data
!mv optic_disc_seg PaddleSeg/data/
!mv optic_disc_seg_add PaddleSeg/data/
!mv optic_disc_seg_new PaddleSeg/data/
!mv optic_disc_seg_test PaddleSeg/data/
  inflating: optic_disc_seg/JPEGImages/N0159.jpg  
  inflating: optic_disc_seg/JPEGImages/N0160.jpg  
  inflating: optic_disc_seg/JPEGImages/N0161.jpg  
  inflating: optic_disc_seg/JPEGImages/P0001.jpg  
  inflating: optic_disc_seg/JPEGImages/P0002.jpg  
  inflating: optic_disc_seg/JPEGImages/P0003.jpg  
  inflating: optic_disc_seg/JPEGImages/P0004.jpg  
  inflating: optic_disc_seg/JPEGImages/P0005.jpg  
  inflating: optic_disc_seg/JPEGImages/P0006.jpg  
  inflating: optic_disc_seg/JPEGImages/P0007.jpg  
  inflating: optic_disc_seg/JPEGImages/P0008.jpg  
  inflating: optic_disc_seg/JPEGImages/P0009.jpg  
  inflating: optic_disc_seg/JPEGImages/P0010.jpg  
  inflating: optic_disc_seg/JPEGImages/P0011.jpg  
  inflating: optic_disc_seg/JPEGImages/P0012.jpg  
  inflating: optic_disc_seg/JPEGImages/P0013.jpg  
  inflating: optic_disc_seg/JPEGImages/P0014.jpg  
  inflating: optic_disc_seg/JPEGImages/P0015.jpg  
  inflating: optic_disc_seg/JPEGImages/P0016.jpg  
  inflating: optic_disc_seg/JPEGImages/P0018.jpg  
  inflating: optic_disc_seg/JPEGImages/P0019.jpg  
  inflating: optic_disc_seg/JPEGImages/P0020.jpg  
  inflating: optic_disc_seg/JPEGImages/P0021.jpg  
  inflating: optic_disc_seg/JPEGImages/P0022.jpg  
  inflating: optic_disc_seg/JPEGImages/P0023.jpg  
  inflating: optic_disc_seg/JPEGImages/P0024.jpg  
  inflating: optic_disc_seg/JPEGImages/P0025.jpg  
  inflating: optic_disc_seg/JPEGImages/P0026.jpg  
  inflating: optic_disc_seg/JPEGImages/P0028.jpg  
  inflating: optic_disc_seg/JPEGImages/P0029.jpg  
  inflating: optic_disc_seg/JPEGImages/P0030.jpg  
  inflating: optic_disc_seg/JPEGImages/P0031.jpg  
  inflating: optic_disc_seg/JPEGImages/P0032.jpg  
  inflating: optic_disc_seg/JPEGImages/P0033.jpg  
  inflating: optic_disc_seg/JPEGImages/P0034.jpg  
  inflating: optic_disc_seg/JPEGImages/P0035.jpg  
  inflating: optic_disc_seg/JPEGImages/P0036.jpg  
  inflating: optic_disc_seg/JPEGImages/P0037.jpg  
  inflating: optic_disc_seg/JPEGImages/P0038.jpg  
  inflating: optic_disc_seg/JPEGImages/P0039.jpg  
  inflating: optic_disc_seg/JPEGImages/P0040.jpg  
  inflating: optic_disc_seg/JPEGImages/P0041.jpg  
  inflating: optic_disc_seg/JPEGImages/P0042.jpg  
  inflating: optic_disc_seg/JPEGImages/P0043.jpg  
  inflating: optic_disc_seg/JPEGImages/P0044.jpg  
  inflating: optic_disc_seg/JPEGImages/P0045.jpg  
  inflating: optic_disc_seg/JPEGImages/P0046.jpg  
  inflating: optic_disc_seg/JPEGImages/P0047.jpg  
  inflating: optic_disc_seg/JPEGImages/P0048.jpg  
  inflating: optic_disc_seg/JPEGImages/P0049.jpg  
  inflating: optic_disc_seg/JPEGImages/P0050.jpg  
  inflating: optic_disc_seg/JPEGImages/P0051.jpg  
  inflating: optic_disc_seg/JPEGImages/P0052.jpg  
  inflating: optic_disc_seg/JPEGImages/P0053.jpg  
  inflating: optic_disc_seg/JPEGImages/P0054.jpg  
  inflating: optic_disc_seg/JPEGImages/P0055.jpg  
  inflating: optic_disc_seg/JPEGImages/P0056.jpg  
  inflating: optic_disc_seg/JPEGImages/P0057.jpg  
  inflating: optic_disc_seg/JPEGImages/P0058.jpg  
  inflating: optic_disc_seg/JPEGImages/P0059.jpg  
  inflating: optic_disc_seg/JPEGImages/P0060.jpg  
  inflating: optic_disc_seg/JPEGImages/P0061.jpg  
  inflating: optic_disc_seg/JPEGImages/P0063.jpg  
  inflating: optic_disc_seg/JPEGImages/P0064.jpg  
  inflating: optic_disc_seg/JPEGImages/P0065.jpg  
  inflating: optic_disc_seg/JPEGImages/P0066.jpg  
  inflating: optic_disc_seg/JPEGImages/P0067.jpg  
  inflating: optic_disc_seg/JPEGImages/P0068.jpg  
  inflating: optic_disc_seg/JPEGImages/P0069.jpg  
  inflating: optic_disc_seg/JPEGImages/P0070.jpg  
  inflating: optic_disc_seg/JPEGImages/P0071.jpg  
  inflating: optic_disc_seg/JPEGImages/P0072.jpg  
  inflating: optic_disc_seg/JPEGImages/P0073.jpg  
  inflating: optic_disc_seg/JPEGImages/P0074.jpg  
  inflating: optic_disc_seg/JPEGImages/P0075.jpg  
  inflating: optic_disc_seg/JPEGImages/P0077.jpg  
  inflating: optic_disc_seg/JPEGImages/P0079.jpg  
  inflating: optic_disc_seg/JPEGImages/P0081.jpg  
  inflating: optic_disc_seg/JPEGImages/P0082.jpg  
  inflating: optic_disc_seg/JPEGImages/P0083.jpg  
  inflating: optic_disc_seg/JPEGImages/P0084.jpg  
  inflating: optic_disc_seg/JPEGImages/P0085.jpg  
  inflating: optic_disc_seg/JPEGImages/P0086.jpg  
  inflating: optic_disc_seg/JPEGImages/P0087.jpg  
  inflating: optic_disc_seg/JPEGImages/P0088.jpg  
  inflating: optic_disc_seg/JPEGImages/P0089.jpg  
  inflating: optic_disc_seg/JPEGImages/P0090.jpg  
  inflating: optic_disc_seg/JPEGImages/P0091.jpg  
  inflating: optic_disc_seg/JPEGImages/P0092.jpg  
  inflating: optic_disc_seg/JPEGImages/P0093.jpg  
  inflating: optic_disc_seg/JPEGImages/P0094.jpg  
  inflating: optic_disc_seg/JPEGImages/P0095.jpg  
  inflating: optic_disc_seg/JPEGImages/P0096.jpg  
  inflating: optic_disc_seg/JPEGImages/P0097.jpg  
  inflating: optic_disc_seg/JPEGImages/P0098.jpg  
  inflating: optic_disc_seg/JPEGImages/P0099.jpg  
  inflating: optic_disc_seg/JPEGImages/P0101.jpg  
  inflating: optic_disc_seg/JPEGImages/P0102.jpg  
  inflating: optic_disc_seg/JPEGImages/P0104.jpg  
  inflating: optic_disc_seg/JPEGImages/P0105.jpg  
  inflating: optic_disc_seg/JPEGImages/P0106.jpg  
  inflating: optic_disc_seg/JPEGImages/P0107.jpg  
  inflating: optic_disc_seg/JPEGImages/P0108.jpg  
  inflating: optic_disc_seg/JPEGImages/P0109.jpg  
  inflating: optic_disc_seg/JPEGImages/P0110.jpg  
  inflating: optic_disc_seg/JPEGImages/P0111.jpg  
  inflating: optic_disc_seg/JPEGImages/P0112.jpg  
  inflating: optic_disc_seg/JPEGImages/P0113.jpg  
  inflating: optic_disc_seg/JPEGImages/P0114.jpg  
  inflating: optic_disc_seg/JPEGImages/P0118.jpg  
  inflating: optic_disc_seg/JPEGImages/P0119.jpg  
  inflating: optic_disc_seg/JPEGImages/P0120.jpg  
  inflating: optic_disc_seg/JPEGImages/P0121.jpg  
  inflating: optic_disc_seg/JPEGImages/P0122.jpg  
  inflating: optic_disc_seg/JPEGImages/P0123.jpg  
  inflating: optic_disc_seg/JPEGImages/P0124.jpg  
  inflating: optic_disc_seg/JPEGImages/P0125.jpg  
  inflating: optic_disc_seg/JPEGImages/P0126.jpg  
  inflating: optic_disc_seg/JPEGImages/P0127.jpg  
  inflating: optic_disc_seg/JPEGImages/P0128.jpg  
  inflating: optic_disc_seg/JPEGImages/P0129.jpg  
  inflating: optic_disc_seg/JPEGImages/P0130.jpg  
  inflating: optic_disc_seg/JPEGImages/P0131.jpg  
  inflating: optic_disc_seg/JPEGImages/P0132.jpg  
  inflating: optic_disc_seg/JPEGImages/P0133.jpg  
  inflating: optic_disc_seg/JPEGImages/P0134.jpg  
  inflating: optic_disc_seg/JPEGImages/P0135.jpg  
  inflating: optic_disc_seg/JPEGImages/P0136.jpg  
  inflating: optic_disc_seg/JPEGImages/P0137.jpg  
  inflating: optic_disc_seg/JPEGImages/P0139.jpg  
  inflating: optic_disc_seg/JPEGImages/P0140.jpg  
  inflating: optic_disc_seg/JPEGImages/P0141.jpg  
  inflating: optic_disc_seg/JPEGImages/P0142.jpg  
  inflating: optic_disc_seg/JPEGImages/P0143.jpg  
  inflating: optic_disc_seg/JPEGImages/P0144.jpg  
  inflating: optic_disc_seg/JPEGImages/P0145.jpg  
  inflating: optic_disc_seg/JPEGImages/P0146.jpg  
  inflating: optic_disc_seg/JPEGImages/P0147.jpg  
  inflating: optic_disc_seg/JPEGImages/P0148.jpg  
  inflating: optic_disc_seg/JPEGImages/P0149.jpg  
  inflating: optic_disc_seg/JPEGImages/P0150.jpg  
  inflating: optic_disc_seg/JPEGImages/P0151.jpg  
  inflating: optic_disc_seg/JPEGImages/P0152.jpg  
  inflating: optic_disc_seg/JPEGImages/P0153.jpg  
  inflating: optic_disc_seg/JPEGImages/P0154.jpg  
  inflating: optic_disc_seg/JPEGImages/P0157.jpg  
  inflating: optic_disc_seg/JPEGImages/P0158.jpg  
  inflating: optic_disc_seg/JPEGImages/P0159.jpg  
  inflating: optic_disc_seg/JPEGImages/P0160.jpg  
  inflating: optic_disc_seg/JPEGImages/P0161.jpg  
  inflating: optic_disc_seg/JPEGImages/P0162.jpg  
  inflating: optic_disc_seg/JPEGImages/P0164.jpg  
  inflating: optic_disc_seg/JPEGImages/P0165.jpg  
  inflating: optic_disc_seg/JPEGImages/P0166.jpg  
  inflating: optic_disc_seg/JPEGImages/P0167.jpg  
  inflating: optic_disc_seg/JPEGImages/P0168.jpg  
  inflating: optic_disc_seg/JPEGImages/P0169.jpg  
  inflating: optic_disc_seg/JPEGImages/P0170.jpg  
  inflating: optic_disc_seg/JPEGImages/P0171.jpg  
  inflating: optic_disc_seg/JPEGImages/P0172.jpg  
  inflating: optic_disc_seg/JPEGImages/P0173.jpg  
  inflating: optic_disc_seg/JPEGImages/P0174.jpg  
  inflating: optic_disc_seg/JPEGImages/P0175.jpg  
  inflating: optic_disc_seg/JPEGImages/P0176.jpg  
  inflating: optic_disc_seg/JPEGImages/P0177.jpg  
  inflating: optic_disc_seg/JPEGImages/P0178.jpg  
  inflating: optic_disc_seg/JPEGImages/P0179.jpg  
  inflating: optic_disc_seg/JPEGImages/P0180.jpg  
  inflating: optic_disc_seg/JPEGImages/P0181.jpg  
  inflating: optic_disc_seg/JPEGImages/P0182.jpg  
  inflating: optic_disc_seg/JPEGImages/P0183.jpg  
  inflating: optic_disc_seg/JPEGImages/P0184.jpg  
  inflating: optic_disc_seg/JPEGImages/P0185.jpg  
  inflating: optic_disc_seg/JPEGImages/P0186.jpg  
  inflating: optic_disc_seg/JPEGImages/P0187.jpg  
  inflating: optic_disc_seg/JPEGImages/P0188.jpg  
  inflating: optic_disc_seg/JPEGImages/P0189.jpg  
  inflating: optic_disc_seg/JPEGImages/P0190.jpg  
  inflating: optic_disc_seg/JPEGImages/P0191.jpg  
  inflating: optic_disc_seg/JPEGImages/P0192.jpg  
  inflating: optic_disc_seg/JPEGImages/P0193.jpg  
  inflating: optic_disc_seg/JPEGImages/P0194.jpg  
  inflating: optic_disc_seg/JPEGImages/P0195.jpg  
  inflating: optic_disc_seg/JPEGImages/P0196.jpg  
  inflating: optic_disc_seg/JPEGImages/P0197.jpg  
  inflating: optic_disc_seg/JPEGImages/P0198.jpg  
  inflating: optic_disc_seg/JPEGImages/P0199.jpg  
  inflating: optic_disc_seg/JPEGImages/P0200.jpg  
  inflating: optic_disc_seg/JPEGImages/P0201.jpg  
  inflating: optic_disc_seg/JPEGImages/P0202.jpg  
  inflating: optic_disc_seg/JPEGImages/P0203.jpg  
  inflating: optic_disc_seg/JPEGImages/P0204.jpg  
  inflating: optic_disc_seg/JPEGImages/P0205.jpg  
  inflating: optic_disc_seg/JPEGImages/P0206.jpg  
  inflating: optic_disc_seg/JPEGImages/P0207.jpg  
  inflating: optic_disc_seg/JPEGImages/P0208.jpg  
  inflating: optic_disc_seg/JPEGImages/P0209.jpg  
  inflating: optic_disc_seg/JPEGImages/P0210.jpg  
  inflating: optic_disc_seg/JPEGImages/P0211.jpg  
  inflating: optic_disc_seg/JPEGImages/P0212.jpg  
  inflating: optic_disc_seg/JPEGImages/P0213.jpg  
 extracting: optic_disc_seg/labels.txt  
  inflating: optic_disc_seg/test_list.txt  
  inflating: optic_disc_seg/train_list.txt  
  inflating: optic_disc_seg/val_list.txt  
   creating: optic_disc_seg_add/
  inflating: optic_disc_seg_add/H0002t.jpg  
  inflating: optic_disc_seg_add/H0009t.jpg  
  inflating: optic_disc_seg_add/H0016t.jpg  
   creating: optic_disc_seg_add/label/
  inflating: optic_disc_seg_add/label/H0002t.png  
  inflating: optic_disc_seg_add/label/H0002t_cutout.png  
  inflating: optic_disc_seg_add/label/H0002t_pseudo.png  
  inflating: optic_disc_seg_add/label/H0009t.png  
  inflating: optic_disc_seg_add/label/H0009t_cutout.png  
  inflating: optic_disc_seg_add/label/H0009t_pseudo.png  
  inflating: optic_disc_seg_add/label/H0016t.png  
  inflating: optic_disc_seg_add/label/H0016t_cutout.png  
  inflating: optic_disc_seg_add/label/H0016t_pseudo.png  
  inflating: optic_disc_seg_add/label/annotations.json  
   creating: optic_disc_seg_new/
   creating: optic_disc_seg_new/Annotations/
  inflating: optic_disc_seg_new/Annotations/H0002.png  
  inflating: optic_disc_seg_new/Annotations/H0002t_pseudo.png  
  inflating: optic_disc_seg_new/Annotations/H0003.png  
  inflating: optic_disc_seg_new/Annotations/H0005.png  
  inflating: optic_disc_seg_new/Annotations/H0006.png  
  inflating: optic_disc_seg_new/Annotations/H0007.png  
  inflating: optic_disc_seg_new/Annotations/H0008.png  
  inflating: optic_disc_seg_new/Annotations/H0009.png  
  inflating: optic_disc_seg_new/Annotations/H0009t_pseudo.png  
  inflating: optic_disc_seg_new/Annotations/H0010.png  
  inflating: optic_disc_seg_new/Annotations/H0011.png  
  inflating: optic_disc_seg_new/Annotations/H0012.png  
  inflating: optic_disc_seg_new/Annotations/H0014.png  
  inflating: optic_disc_seg_new/Annotations/H0015.png  
  inflating: optic_disc_seg_new/Annotations/H0016.png  
  inflating: optic_disc_seg_new/Annotations/H0016t_pseudo.png  
  inflating: optic_disc_seg_new/Annotations/H0017.png  
  inflating: optic_disc_seg_new/Annotations/H0018.png  
  inflating: optic_disc_seg_new/Annotations/H0019.png  
  inflating: optic_disc_seg_new/Annotations/H0020.png  
  inflating: optic_disc_seg_new/Annotations/H0021.png  
  inflating: optic_disc_seg_new/Annotations/H0022.png  
  inflating: optic_disc_seg_new/Annotations/H0023.png  
  inflating: optic_disc_seg_new/Annotations/H0024.png  
  inflating: optic_disc_seg_new/Annotations/H0025.png  
  inflating: optic_disc_seg_new/Annotations/N0001.png  
  inflating: optic_disc_seg_new/Annotations/N0002.png  
  inflating: optic_disc_seg_new/Annotations/N0003.png  
  inflating: optic_disc_seg_new/Annotations/N0004.png  
  inflating: optic_disc_seg_new/Annotations/N0005.png  
  inflating: optic_disc_seg_new/Annotations/N0006.png  
  inflating: optic_disc_seg_new/Annotations/N0007.png  
  inflating: optic_disc_seg_new/Annotations/N0008.png  
  inflating: optic_disc_seg_new/Annotations/N0009.png  
  inflating: optic_disc_seg_new/Annotations/N0010.png  
  inflating: optic_disc_seg_new/Annotations/N0011.png  
  inflating: optic_disc_seg_new/Annotations/N0012.png  
  inflating: optic_disc_seg_new/Annotations/N0013.png  
  inflating: optic_disc_seg_new/Annotations/N0014.png  
  inflating: optic_disc_seg_new/Annotations/N0015.png  
  inflating: optic_disc_seg_new/Annotations/N0016.png  
  inflating: optic_disc_seg_new/Annotations/N0017.png  
  inflating: optic_disc_seg_new/Annotations/N0018.png  
  inflating: optic_disc_seg_new/Annotations/N0019.png  
  inflating: optic_disc_seg_new/Annotations/N0020.png  
  inflating: optic_disc_seg_new/Annotations/N0021.png  
  inflating: optic_disc_seg_new/Annotations/N0022.png  
  inflating: optic_disc_seg_new/Annotations/N0023.png  
  inflating: optic_disc_seg_new/Annotations/N0024.png  
  inflating: optic_disc_seg_new/Annotations/N0025.png  
  inflating: optic_disc_seg_new/Annotations/N0026.png  
  inflating: optic_disc_seg_new/Annotations/N0027.png  
  inflating: optic_disc_seg_new/Annotations/N0028.png  
  inflating: optic_disc_seg_new/Annotations/N0029.png  
  inflating: optic_disc_seg_new/Annotations/N0030.png  
  inflating: optic_disc_seg_new/Annotations/N0031.png  
  inflating: optic_disc_seg_new/Annotations/N0032.png  
  inflating: optic_disc_seg_new/Annotations/N0033.png  
  inflating: optic_disc_seg_new/Annotations/N0034.png  
  inflating: optic_disc_seg_new/Annotations/N0035.png  
  inflating: optic_disc_seg_new/Annotations/N0036.png  
  inflating: optic_disc_seg_new/Annotations/N0037.png  
  inflating: optic_disc_seg_new/Annotations/N0038.png  
  inflating: optic_disc_seg_new/Annotations/N0039.png  
  inflating: optic_disc_seg_new/Annotations/N0040.png  
  inflating: optic_disc_seg_new/Annotations/N0041.png  
  inflating: optic_disc_seg_new/Annotations/N0042.png  
  inflating: optic_disc_seg_new/Annotations/N0043.png  
  inflating: optic_disc_seg_new/Annotations/N0044.png  
  inflating: optic_disc_seg_new/Annotations/N0045.png  
  inflating: optic_disc_seg_new/Annotations/N0046.png  
  inflating: optic_disc_seg_new/Annotations/N0047.png  
  inflating: optic_disc_seg_new/Annotations/N0048.png  
  inflating: optic_disc_seg_new/Annotations/N0049.png  
  inflating: optic_disc_seg_new/Annotations/N0050.png  
  inflating: optic_disc_seg_new/Annotations/N0051.png  
  inflating: optic_disc_seg_new/Annotations/N0052.png  
  inflating: optic_disc_seg_new/Annotations/N0053.png  
  inflating: optic_disc_seg_new/Annotations/N0054.png  
  inflating: optic_disc_seg_new/Annotations/N0055.png  
  inflating: optic_disc_seg_new/Annotations/N0056.png  
  inflating: optic_disc_seg_new/Annotations/N0057.png  
  inflating: optic_disc_seg_new/Annotations/N0058.png  
  inflating: optic_disc_seg_new/Annotations/N0059.png  
  inflating: optic_disc_seg_new/Annotations/N0060.png  
  inflating: optic_disc_seg_new/Annotations/N0061.png  
  inflating: optic_disc_seg_new/Annotations/N0062.png  
  inflating: optic_disc_seg_new/Annotations/N0063.png  
  inflating: optic_disc_seg_new/Annotations/N0064.png  
  inflating: optic_disc_seg_new/Annotations/N0065.png  
  inflating: optic_disc_seg_new/Annotations/N0066.png  
  inflating: optic_disc_seg_new/Annotations/N0067.png  
  inflating: optic_disc_seg_new/Annotations/N0068.png  
  inflating: optic_disc_seg_new/Annotations/N0069.png  
  inflating: optic_disc_seg_new/Annotations/N0070.png  
  inflating: optic_disc_seg_new/Annotations/N0071.png  
  inflating: optic_disc_seg_new/Annotations/N0072.png  
  inflating: optic_disc_seg_new/Annotations/N0073.png  
  inflating: optic_disc_seg_new/Annotations/N0074.png  
  inflating: optic_disc_seg_new/Annotations/N0075.png  
  inflating: optic_disc_seg_new/Annotations/N0076.png  
  inflating: optic_disc_seg_new/Annotations/N0077.png  
  inflating: optic_disc_seg_new/Annotations/N0078.png  
  inflating: optic_disc_seg_new/Annotations/N0079.png  
  inflating: optic_disc_seg_new/Annotations/N0080.png  
  inflating: optic_disc_seg_new/Annotations/N0081.png  
  inflating: optic_disc_seg_new/Annotations/N0082.png  
  inflating: optic_disc_seg_new/Annotations/N0083.png  
  inflating: optic_disc_seg_new/Annotations/N0084.png  
  inflating: optic_disc_seg_new/Annotations/N0085.png  
  inflating: optic_disc_seg_new/Annotations/N0086.png  
  inflating: optic_disc_seg_new/Annotations/N0087.png  
  inflating: optic_disc_seg_new/Annotations/N0088.png  
  inflating: optic_disc_seg_new/Annotations/N0089.png  
  inflating: optic_disc_seg_new/Annotations/N0090.png  
  inflating: optic_disc_seg_new/Annotations/N0091.png  
  inflating: optic_disc_seg_new/Annotations/N0092.png  
  inflating: optic_disc_seg_new/Annotations/N0093.png  
  inflating: optic_disc_seg_new/Annotations/N0094.png  
  inflating: optic_disc_seg_new/Annotations/N0095.png  
  inflating: optic_disc_seg_new/Annotations/N0096.png  
  inflating: optic_disc_seg_new/Annotations/N0097.png  
  inflating: optic_disc_seg_new/Annotations/N0098.png  
  inflating: optic_disc_seg_new/Annotations/N0099.png  
  inflating: optic_disc_seg_new/Annotations/N0100.png  
  inflating: optic_disc_seg_new/Annotations/N0101.png  
  inflating: optic_disc_seg_new/Annotations/N0102.png  
  inflating: optic_disc_seg_new/Annotations/N0103.png  
  inflating: optic_disc_seg_new/Annotations/N0104.png  
  inflating: optic_disc_seg_new/Annotations/N0105.png  
  inflating: optic_disc_seg_new/Annotations/N0106.png  
  inflating: optic_disc_seg_new/Annotations/N0107.png  
  inflating: optic_disc_seg_new/Annotations/N0108.png  
  inflating: optic_disc_seg_new/Annotations/N0109.png  
  inflating: optic_disc_seg_new/Annotations/N0110.png  
  inflating: optic_disc_seg_new/Annotations/N0111.png  
  inflating: optic_disc_seg_new/Annotations/N0112.png  
  inflating: optic_disc_seg_new/Annotations/N0113.png  
  inflating: optic_disc_seg_new/Annotations/N0114.png  
  inflating: optic_disc_seg_new/Annotations/N0115.png  
  inflating: optic_disc_seg_new/Annotations/N0116.png  
  inflating: optic_disc_seg_new/Annotations/N0117.png  
  inflating: optic_disc_seg_new/Annotations/N0118.png  
  inflating: optic_disc_seg_new/Annotations/N0119.png  
  inflating: optic_disc_seg_new/Annotations/N0120.png  
  inflating: optic_disc_seg_new/Annotations/N0121.png  
  inflating: optic_disc_seg_new/Annotations/N0122.png  
  inflating: optic_disc_seg_new/Annotations/N0123.png  
  inflating: optic_disc_seg_new/Annotations/N0124.png  
  inflating: optic_disc_seg_new/Annotations/N0125.png  
  inflating: optic_disc_seg_new/Annotations/N0126.png  
  inflating: optic_disc_seg_new/Annotations/N0127.png  
  inflating: optic_disc_seg_new/Annotations/N0128.png  
  inflating: optic_disc_seg_new/Annotations/N0129.png  
  inflating: optic_disc_seg_new/Annotations/N0130.png  
  inflating: optic_disc_seg_new/Annotations/N0131.png  
  inflating: optic_disc_seg_new/Annotations/N0132.png  
  inflating: optic_disc_seg_new/Annotations/N0133.png  
  inflating: optic_disc_seg_new/Annotations/N0134.png  
  inflating: optic_disc_seg_new/Annotations/N0135.png  
  inflating: optic_disc_seg_new/Annotations/N0136.png  
  inflating: optic_disc_seg_new/Annotations/N0137.png  
  inflating: optic_disc_seg_new/Annotations/N0138.png  
  inflating: optic_disc_seg_new/Annotations/N0139.png  
  inflating: optic_disc_seg_new/Annotations/N0140.png  
  inflating: optic_disc_seg_new/Annotations/N0141.png  
  inflating: optic_disc_seg_new/Annotations/N0142.png  
  inflating: optic_disc_seg_new/Annotations/N0143.png  
  inflating: optic_disc_seg_new/Annotations/N0144.png  
  inflating: optic_disc_seg_new/Annotations/N0145.png  
  inflating: optic_disc_seg_new/Annotations/N0146.png  
  inflating: optic_disc_seg_new/Annotations/N0147.png  
  inflating: optic_disc_seg_new/Annotations/N0148.png  
  inflating: optic_disc_seg_new/Annotations/N0149.png  
  inflating: optic_disc_seg_new/Annotations/N0150.png  
  inflating: optic_disc_seg_new/Annotations/N0151.png  
  inflating: optic_disc_seg_new/Annotations/N0152.png  
  inflating: optic_disc_seg_new/Annotations/N0153.png  
  inflating: optic_disc_seg_new/Annotations/N0154.png  
  inflating: optic_disc_seg_new/Annotations/N0155.png  
  inflating: optic_disc_seg_new/Annotations/N0156.png  
  inflating: optic_disc_seg_new/Annotations/N0157.png  
  inflating: optic_disc_seg_new/Annotations/N0158.png  
  inflating: optic_disc_seg_new/Annotations/N0159.png  
  inflating: optic_disc_seg_new/Annotations/N0160.png  
  inflating: optic_disc_seg_new/Annotations/N0161.png  
  inflating: optic_disc_seg_new/Annotations/P0001.png  
  inflating: optic_disc_seg_new/Annotations/P0002.png  
  inflating: optic_disc_seg_new/Annotations/P0003.png  
  inflating: optic_disc_seg_new/Annotations/P0004.png  
  inflating: optic_disc_seg_new/Annotations/P0005.png  
  inflating: optic_disc_seg_new/Annotations/P0006.png  
  inflating: optic_disc_seg_new/Annotations/P0007.png  
  inflating: optic_disc_seg_new/Annotations/P0008.png  
  inflating: optic_disc_seg_new/Annotations/P0009.png  
  inflating: optic_disc_seg_new/Annotations/P0010.png  
  inflating: optic_disc_seg_new/Annotations/P0011.png  
  inflating: optic_disc_seg_new/Annotations/P0012.png  
  inflating: optic_disc_seg_new/Annotations/P0013.png  
  inflating: optic_disc_seg_new/Annotations/P0014.png  
  inflating: optic_disc_seg_new/Annotations/P0015.png  
  inflating: optic_disc_seg_new/Annotations/P0016.png  
  inflating: optic_disc_seg_new/Annotations/P0018.png  
  inflating: optic_disc_seg_new/Annotations/P0019.png  
  inflating: optic_disc_seg_new/Annotations/P0020.png  
  inflating: optic_disc_seg_new/Annotations/P0021.png  
  inflating: optic_disc_seg_new/Annotations/P0022.png  
  inflating: optic_disc_seg_new/Annotations/P0023.png  
  inflating: optic_disc_seg_new/Annotations/P0024.png  
  inflating: optic_disc_seg_new/Annotations/P0025.png  
  inflating: optic_disc_seg_new/Annotations/P0026.png  
  inflating: optic_disc_seg_new/Annotations/P0028.png  
  inflating: optic_disc_seg_new/Annotations/P0029.png  
  inflating: optic_disc_seg_new/Annotations/P0030.png  
  inflating: optic_disc_seg_new/Annotations/P0031.png  
  inflating: optic_disc_seg_new/Annotations/P0032.png  
  inflating: optic_disc_seg_new/Annotations/P0033.png  
  inflating: optic_disc_seg_new/Annotations/P0034.png  
  inflating: optic_disc_seg_new/Annotations/P0035.png  
  inflating: optic_disc_seg_new/Annotations/P0036.png  
  inflating: optic_disc_seg_new/Annotations/P0037.png  
  inflating: optic_disc_seg_new/Annotations/P0038.png  
  inflating: optic_disc_seg_new/Annotations/P0039.png  
  inflating: optic_disc_seg_new/Annotations/P0040.png  
  inflating: optic_disc_seg_new/Annotations/P0041.png  
  inflating: optic_disc_seg_new/Annotations/P0042.png  
  inflating: optic_disc_seg_new/Annotations/P0043.png  
  inflating: optic_disc_seg_new/Annotations/P0044.png  
  inflating: optic_disc_seg_new/Annotations/P0045.png  
  inflating: optic_disc_seg_new/Annotations/P0046.png  
  inflating: optic_disc_seg_new/Annotations/P0047.png  
  inflating: optic_disc_seg_new/Annotations/P0048.png  
  inflating: optic_disc_seg_new/Annotations/P0049.png  
  inflating: optic_disc_seg_new/Annotations/P0050.png  
  inflating: optic_disc_seg_new/Annotations/P0051.png  
  inflating: optic_disc_seg_new/Annotations/P0052.png  
  inflating: optic_disc_seg_new/Annotations/P0053.png  
  inflating: optic_disc_seg_new/Annotations/P0054.png  
  inflating: optic_disc_seg_new/Annotations/P0055.png  
  inflating: optic_disc_seg_new/Annotations/P0056.png  
  inflating: optic_disc_seg_new/Annotations/P0057.png  
  inflating: optic_disc_seg_new/Annotations/P0058.png  
  inflating: optic_disc_seg_new/Annotations/P0059.png  
  inflating: optic_disc_seg_new/Annotations/P0060.png  
  inflating: optic_disc_seg_new/Annotations/P0061.png  
  inflating: optic_disc_seg_new/Annotations/P0063.png  
  inflating: optic_disc_seg_new/Annotations/P0064.png  
  inflating: optic_disc_seg_new/Annotations/P0065.png  
  inflating: optic_disc_seg_new/Annotations/P0066.png  
  inflating: optic_disc_seg_new/Annotations/P0067.png  
  inflating: optic_disc_seg_new/Annotations/P0068.png  
  inflating: optic_disc_seg_new/Annotations/P0069.png  
  inflating: optic_disc_seg_new/Annotations/P0070.png  
  inflating: optic_disc_seg_new/Annotations/P0071.png  
  inflating: optic_disc_seg_new/Annotations/P0072.png  
  inflating: optic_disc_seg_new/Annotations/P0073.png  
  inflating: optic_disc_seg_new/Annotations/P0074.png  
  inflating: optic_disc_seg_new/Annotations/P0075.png  
  inflating: optic_disc_seg_new/Annotations/P0077.png  
  inflating: optic_disc_seg_new/Annotations/P0079.png  
  inflating: optic_disc_seg_new/Annotations/P0081.png  
  inflating: optic_disc_seg_new/Annotations/P0082.png  
  inflating: optic_disc_seg_new/Annotations/P0083.png  
  inflating: optic_disc_seg_new/Annotations/P0084.png  
  inflating: optic_disc_seg_new/Annotations/P0085.png  
  inflating: optic_disc_seg_new/Annotations/P0086.png  
  inflating: optic_disc_seg_new/Annotations/P0087.png  
  inflating: optic_disc_seg_new/Annotations/P0088.png  
  inflating: optic_disc_seg_new/Annotations/P0089.png  
  inflating: optic_disc_seg_new/Annotations/P0090.png  
  inflating: optic_disc_seg_new/Annotations/P0091.png  
  inflating: optic_disc_seg_new/Annotations/P0092.png  
  inflating: optic_disc_seg_new/Annotations/P0093.png  
  inflating: optic_disc_seg_new/Annotations/P0094.png  
  inflating: optic_disc_seg_new/Annotations/P0095.png  
  inflating: optic_disc_seg_new/Annotations/P0096.png  
  inflating: optic_disc_seg_new/Annotations/P0097.png  
  inflating: optic_disc_seg_new/Annotations/P0098.png  
  inflating: optic_disc_seg_new/Annotations/P0099.png  
  inflating: optic_disc_seg_new/Annotations/P0101.png  
  inflating: optic_disc_seg_new/Annotations/P0102.png  
  inflating: optic_disc_seg_new/Annotations/P0104.png  
  inflating: optic_disc_seg_new/Annotations/P0105.png  
  inflating: optic_disc_seg_new/Annotations/P0106.png  
  inflating: optic_disc_seg_new/Annotations/P0107.png  
  inflating: optic_disc_seg_new/Annotations/P0108.png  
  inflating: optic_disc_seg_new/Annotations/P0109.png  
  inflating: optic_disc_seg_new/Annotations/P0110.png  
  inflating: optic_disc_seg_new/Annotations/P0111.png  
  inflating: optic_disc_seg_new/Annotations/P0112.png  
  inflating: optic_disc_seg_new/Annotations/P0113.png  
  inflating: optic_disc_seg_new/Annotations/P0114.png  
  inflating: optic_disc_seg_new/Annotations/P0118.png  
  inflating: optic_disc_seg_new/Annotations/P0119.png  
  inflating: optic_disc_seg_new/Annotations/P0120.png  
  inflating: optic_disc_seg_new/Annotations/P0121.png  
  inflating: optic_disc_seg_new/Annotations/P0122.png  
  inflating: optic_disc_seg_new/Annotations/P0123.png  
  inflating: optic_disc_seg_new/Annotations/P0124.png  
  inflating: optic_disc_seg_new/Annotations/P0125.png  
  inflating: optic_disc_seg_new/Annotations/P0126.png  
  inflating: optic_disc_seg_new/Annotations/P0127.png  
  inflating: optic_disc_seg_new/Annotations/P0128.png  
  inflating: optic_disc_seg_new/Annotations/P0129.png  
  inflating: optic_disc_seg_new/Annotations/P0130.png  
  inflating: optic_disc_seg_new/Annotations/P0131.png  
  inflating: optic_disc_seg_new/Annotations/P0132.png  
  inflating: optic_disc_seg_new/Annotations/P0133.png  
  inflating: optic_disc_seg_new/Annotations/P0134.png  
  inflating: optic_disc_seg_new/Annotations/P0135.png  
  inflating: optic_disc_seg_new/Annotations/P0136.png  
  inflating: optic_disc_seg_new/Annotations/P0137.png  
  inflating: optic_disc_seg_new/Annotations/P0139.png  
  inflating: optic_disc_seg_new/Annotations/P0140.png  
  inflating: optic_disc_seg_new/Annotations/P0141.png  
  inflating: optic_disc_seg_new/Annotations/P0142.png  
  inflating: optic_disc_seg_new/Annotations/P0143.png  
  inflating: optic_disc_seg_new/Annotations/P0144.png  
  inflating: optic_disc_seg_new/Annotations/P0145.png  
  inflating: optic_disc_seg_new/Annotations/P0146.png  
  inflating: optic_disc_seg_new/Annotations/P0147.png  
  inflating: optic_disc_seg_new/Annotations/P0148.png  
  inflating: optic_disc_seg_new/Annotations/P0149.png  
  inflating: optic_disc_seg_new/Annotations/P0150.png  
  inflating: optic_disc_seg_new/Annotations/P0151.png  
  inflating: optic_disc_seg_new/Annotations/P0152.png  
  inflating: optic_disc_seg_new/Annotations/P0153.png  
  inflating: optic_disc_seg_new/Annotations/P0154.png  
  inflating: optic_disc_seg_new/Annotations/P0157.png  
  inflating: optic_disc_seg_new/Annotations/P0158.png  
  inflating: optic_disc_seg_new/Annotations/P0159.png  
  inflating: optic_disc_seg_new/Annotations/P0160.png  
  inflating: optic_disc_seg_new/Annotations/P0161.png  
  inflating: optic_disc_seg_new/Annotations/P0162.png  
  inflating: optic_disc_seg_new/Annotations/P0164.png  
  inflating: optic_disc_seg_new/Annotations/P0165.png  
  inflating: optic_disc_seg_new/Annotations/P0166.png  
  inflating: optic_disc_seg_new/Annotations/P0167.png  
  inflating: optic_disc_seg_new/Annotations/P0168.png  
  inflating: optic_disc_seg_new/Annotations/P0169.png  
  inflating: optic_disc_seg_new/Annotations/P0170.png  
  inflating: optic_disc_seg_new/Annotations/P0171.png  
  inflating: optic_disc_seg_new/Annotations/P0172.png  
  inflating: optic_disc_seg_new/Annotations/P0173.png  
  inflating: optic_disc_seg_new/Annotations/P0174.png  
  inflating: optic_disc_seg_new/Annotations/P0175.png  
  inflating: optic_disc_seg_new/Annotations/P0176.png  
  inflating: optic_disc_seg_new/Annotations/P0177.png  
  inflating: optic_disc_seg_new/Annotations/P0178.png  
  inflating: optic_disc_seg_new/Annotations/P0179.png  
  inflating: optic_disc_seg_new/Annotations/P0180.png  
  inflating: optic_disc_seg_new/Annotations/P0181.png  
  inflating: optic_disc_seg_new/Annotations/P0182.png  
  inflating: optic_disc_seg_new/Annotations/P0183.png  
  inflating: optic_disc_seg_new/Annotations/P0184.png  
  inflating: optic_disc_seg_new/Annotations/P0185.png  
  inflating: optic_disc_seg_new/Annotations/P0186.png  
  inflating: optic_disc_seg_new/Annotations/P0187.png  
  inflating: optic_disc_seg_new/Annotations/P0188.png  
  inflating: optic_disc_seg_new/Annotations/P0189.png  
  inflating: optic_disc_seg_new/Annotations/P0190.png  
  inflating: optic_disc_seg_new/Annotations/P0191.png  
  inflating: optic_disc_seg_new/Annotations/P0192.png  
  inflating: optic_disc_seg_new/Annotations/P0193.png  
  inflating: optic_disc_seg_new/Annotations/P0194.png  
  inflating: optic_disc_seg_new/Annotations/P0195.png  
  inflating: optic_disc_seg_new/Annotations/P0196.png  
  inflating: optic_disc_seg_new/Annotations/P0197.png  
  inflating: optic_disc_seg_new/Annotations/P0198.png  
  inflating: optic_disc_seg_new/Annotations/P0199.png  
  inflating: optic_disc_seg_new/Annotations/P0200.png  
  inflating: optic_disc_seg_new/Annotations/P0201.png  
  inflating: optic_disc_seg_new/Annotations/P0202.png  
  inflating: optic_disc_seg_new/Annotations/P0203.png  
  inflating: optic_disc_seg_new/Annotations/P0204.png  
  inflating: optic_disc_seg_new/Annotations/P0205.png  
  inflating: optic_disc_seg_new/Annotations/P0206.png  
  inflating: optic_disc_seg_new/Annotations/P0207.png  
  inflating: optic_disc_seg_new/Annotations/P0208.png  
  inflating: optic_disc_seg_new/Annotations/P0209.png  
  inflating: optic_disc_seg_new/Annotations/P0210.png  
  inflating: optic_disc_seg_new/Annotations/P0211.png  
  inflating: optic_disc_seg_new/Annotations/P0212.png  
  inflating: optic_disc_seg_new/Annotations/P0213.png  
   creating: optic_disc_seg_new/JPEGImages/
  inflating: optic_disc_seg_new/JPEGImages/H0002.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0002t.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0003.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0005.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0006.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0007.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0008.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0009.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0009t.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0010.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0011.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0012.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0014.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0015.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0016.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0016t.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0017.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0018.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0019.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0020.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0021.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0022.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0023.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0024.jpg  
  inflating: optic_disc_seg_new/JPEGImages/H0025.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0001.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0002.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0003.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0004.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0005.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0006.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0007.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0008.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0009.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0010.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0011.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0012.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0013.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0014.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0015.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0016.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0017.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0018.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0019.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0020.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0021.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0022.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0023.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0024.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0025.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0026.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0027.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0028.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0029.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0030.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0031.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0032.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0033.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0034.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0035.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0036.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0037.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0038.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0039.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0040.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0041.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0042.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0043.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0044.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0045.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0046.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0047.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0048.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0049.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0050.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0051.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0052.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0053.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0054.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0055.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0056.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0057.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0058.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0059.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0060.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0061.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0062.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0063.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0064.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0065.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0066.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0067.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0068.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0069.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0070.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0071.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0072.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0073.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0074.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0075.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0076.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0077.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0078.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0079.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0080.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0081.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0082.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0083.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0084.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0085.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0086.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0087.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0088.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0089.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0090.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0091.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0092.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0093.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0094.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0095.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0096.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0097.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0098.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0099.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0100.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0101.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0102.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0103.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0104.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0105.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0106.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0107.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0108.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0109.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0110.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0111.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0112.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0113.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0114.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0115.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0116.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0117.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0118.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0119.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0120.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0121.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0122.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0123.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0124.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0125.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0126.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0127.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0128.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0129.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0130.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0131.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0132.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0133.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0134.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0135.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0136.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0137.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0138.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0139.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0140.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0141.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0142.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0143.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0144.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0145.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0146.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0147.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0148.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0149.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0150.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0151.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0152.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0153.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0154.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0155.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0156.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0157.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0158.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0159.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0160.jpg  
  inflating: optic_disc_seg_new/JPEGImages/N0161.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0001.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0002.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0003.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0004.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0005.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0006.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0007.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0008.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0009.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0010.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0011.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0012.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0013.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0014.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0015.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0016.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0018.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0019.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0020.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0021.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0022.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0023.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0024.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0025.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0026.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0028.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0029.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0030.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0031.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0032.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0033.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0034.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0035.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0036.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0037.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0038.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0039.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0040.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0041.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0042.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0043.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0044.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0045.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0046.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0047.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0048.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0049.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0050.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0051.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0052.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0053.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0054.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0055.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0056.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0057.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0058.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0059.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0060.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0061.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0063.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0064.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0065.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0066.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0067.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0068.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0069.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0070.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0071.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0072.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0073.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0074.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0075.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0077.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0079.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0081.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0082.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0083.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0084.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0085.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0086.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0087.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0088.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0089.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0090.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0091.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0092.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0093.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0094.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0095.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0096.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0097.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0098.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0099.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0101.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0102.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0104.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0105.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0106.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0107.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0108.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0109.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0110.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0111.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0112.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0113.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0114.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0118.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0119.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0120.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0121.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0122.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0123.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0124.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0125.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0126.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0127.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0128.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0129.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0130.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0131.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0132.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0133.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0134.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0135.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0136.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0137.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0139.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0140.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0141.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0142.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0143.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0144.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0145.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0146.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0147.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0148.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0149.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0150.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0151.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0152.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0153.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0154.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0157.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0158.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0159.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0160.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0161.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0162.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0164.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0165.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0166.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0167.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0168.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0169.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0170.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0171.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0172.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0173.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0174.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0175.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0176.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0177.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0178.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0179.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0180.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0181.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0182.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0183.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0184.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0185.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0186.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0187.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0188.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0189.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0190.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0191.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0192.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0193.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0194.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0195.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0196.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0197.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0198.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0199.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0200.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0201.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0202.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0203.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0204.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0205.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0206.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0207.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0208.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0209.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0210.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0211.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0212.jpg  
  inflating: optic_disc_seg_new/JPEGImages/P0213.jpg  
 extracting: optic_disc_seg_new/labels.txt  
  inflating: optic_disc_seg_new/test_list.txt  
  inflating: optic_disc_seg_new/train_list.txt  
  inflating: optic_disc_seg_new/val_list.txt  
   creating: optic_disc_seg_test/
  inflating: optic_disc_seg_test/H0002t.jpg  
  inflating: optic_disc_seg_test/H0009t.jpg  
  inflating: optic_disc_seg_test/H0016t.jpg  

五、训练

使用PaddleSeg训练出一版模型v1.0;

%cd /home/aistudio/PaddleSeg
!ls
!python tools/train.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml --save_interval 500 --do_eval --use_vdl --save_dir output
/home/aistudio/PaddleSeg
build	 deploy  LICENSE    paddleseg.egg-info	requirements.txt  tools
configs  dist	 Matting    README_CN.md	setup.py
contrib  docs	 output     README_EN.md	tests
data	 EISeg	 paddleseg  README.md		test_tipc
2023-04-17 14:55:11 [WARNING]	Add the `num_classes` in train_dataset and val_dataset config to model config. We suggest you manually set `num_classes` in model config.
2023-04-17 14:55:11 [INFO]	
------------Environment Information-------------
platform: Linux-4.15.0-140-generic-x86_64-with-debian-stretch-sid
Python: 3.7.4 (default, Aug 13 2019, 20:35:49) [GCC 7.3.0]
Paddle compiled with cuda: True
NVCC: Build cuda_11.2.r11.2/compiler.29618528_0
cudnn: 8.2
GPUs used: 1
CUDA_VISIBLE_DEVICES: None
GPU: ['GPU 0: Tesla V100-SXM2-16GB']
GCC: gcc (Ubuntu 7.5.0-3ubuntu1~16.04) 7.5.0
PaddleSeg: 2.8.0
PaddlePaddle: 2.3.2
OpenCV: 4.5.5
------------------------------------------------
2023-04-17 14:55:11 [INFO]	
---------------Config Information---------------
batch_size: 4
iters: 1000
train_dataset:
  dataset_root: data/optic_disc_seg
  mode: train
  num_classes: 2
  train_path: data/optic_disc_seg/train_list.txt
  transforms:
  - max_scale_factor: 2.0
    min_scale_factor: 0.5
    scale_step_size: 0.25
    type: ResizeStepScaling
  - crop_size:
    - 512
    - 512
    type: RandomPaddingCrop
  - type: RandomHorizontalFlip
  - brightness_range: 0.5
    contrast_range: 0.5
    saturation_range: 0.5
    type: RandomDistort
  - type: Normalize
  type: Dataset
val_dataset:
  dataset_root: data/optic_disc_seg
  mode: val
  num_classes: 2
  transforms:
  - type: Normalize
  type: Dataset
  val_path: data/optic_disc_seg/val_list.txt
optimizer:
  momentum: 0.9
  type: SGD
  weight_decay: 4.0e-05
lr_scheduler:
  end_lr: 0
  learning_rate: 0.01
  power: 0.9
  type: PolynomialDecay
loss:
  coef:
  - 1
  - 1
  - 1
  types:
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
------------------------------------------------

2023-04-17 14:55:11 [INFO]	Set device: gpu
2023-04-17 14:55:11 [INFO]	Use the following config to build model
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
W0417 14:55:11.513504   704 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.2, Runtime API Version: 11.2
W0417 14:55:11.513561   704 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2.
2023-04-17 14:55:14 [INFO]	Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
Connecting to https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
Downloading PP_STDCNet2.tar.gz
[==================================================] 100.00%
Uncompress PP_STDCNet2.tar.gz
[==================================================] 100.00%
2023-04-17 14:56:42 [INFO]	There are 265/265 variables loaded into STDCNet.
2023-04-17 14:56:43 [INFO]	Use the following config to build train_dataset
train_dataset:
  dataset_root: data/optic_disc_seg
  mode: train
  num_classes: 2
  train_path: data/optic_disc_seg/train_list.txt
  transforms:
  - max_scale_factor: 2.0
    min_scale_factor: 0.5
    scale_step_size: 0.25
    type: ResizeStepScaling
  - crop_size:
    - 512
    - 512
    type: RandomPaddingCrop
  - type: RandomHorizontalFlip
  - brightness_range: 0.5
    contrast_range: 0.5
    saturation_range: 0.5
    type: RandomDistort
  - type: Normalize
  type: Dataset
2023-04-17 14:56:43 [INFO]	Use the following config to build val_dataset
val_dataset:
  dataset_root: data/optic_disc_seg
  mode: val
  num_classes: 2
  transforms:
  - type: Normalize
  type: Dataset
  val_path: data/optic_disc_seg/val_list.txt
2023-04-17 14:56:43 [INFO]	If the type is SGD and momentum in optimizer config, the type is changed to Momentum.
2023-04-17 14:56:43 [INFO]	Use the following config to build optimizer
optimizer:
  momentum: 0.9
  type: Momentum
  weight_decay: 4.0e-05
2023-04-17 14:56:43 [INFO]	Use the following config to build loss
loss:
  coef:
  - 1
  - 1
  - 1
  types:
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/nn/layer/norm.py:654: UserWarning: When training, we now always track global mean and variance.
  "When training, we now always track global mean and variance.")
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/math_op_patch.py:278: UserWarning: The dtype of left and right variables are not the same, left dtype is paddle.float32, but right dtype is paddle.int64, the right dtype will convert to paddle.float32
  format(lhs_dtype, rhs_dtype, lhs_dtype))
2023-04-17 14:56:48 [INFO]	[TRAIN] epoch: 1, iter: 10/1000, loss: 1.8301, lr: 0.009919, batch_cost: 0.4808, reader_cost: 0.03611, ips: 8.3188 samples/sec | ETA 00:07:56
2023-04-17 14:56:50 [INFO]	[TRAIN] epoch: 1, iter: 20/1000, loss: 0.2660, lr: 0.009829, batch_cost: 0.1780, reader_cost: 0.00073, ips: 22.4715 samples/sec | ETA 00:02:54
2023-04-17 14:56:51 [INFO]	[TRAIN] epoch: 1, iter: 30/1000, loss: 0.2680, lr: 0.009739, batch_cost: 0.1734, reader_cost: 0.00098, ips: 23.0648 samples/sec | ETA 00:02:48
2023-04-17 14:56:53 [INFO]	[TRAIN] epoch: 1, iter: 40/1000, loss: 0.2693, lr: 0.009648, batch_cost: 0.1822, reader_cost: 0.00063, ips: 21.9513 samples/sec | ETA 00:02:54
2023-04-17 14:56:55 [INFO]	[TRAIN] epoch: 1, iter: 50/1000, loss: 0.1483, lr: 0.009558, batch_cost: 0.1768, reader_cost: 0.00023, ips: 22.6197 samples/sec | ETA 00:02:47
2023-04-17 14:56:57 [INFO]	[TRAIN] epoch: 1, iter: 60/1000, loss: 0.1708, lr: 0.009467, batch_cost: 0.1828, reader_cost: 0.00021, ips: 21.8799 samples/sec | ETA 00:02:51
2023-04-17 14:56:59 [INFO]	[TRAIN] epoch: 2, iter: 70/1000, loss: 0.1212, lr: 0.009377, batch_cost: 0.1943, reader_cost: 0.01919, ips: 20.5824 samples/sec | ETA 00:03:00
2023-04-17 14:57:01 [INFO]	[TRAIN] epoch: 2, iter: 80/1000, loss: 0.1512, lr: 0.009286, batch_cost: 0.1931, reader_cost: 0.00068, ips: 20.7097 samples/sec | ETA 00:02:57
2023-04-17 14:57:02 [INFO]	[TRAIN] epoch: 2, iter: 90/1000, loss: 0.1165, lr: 0.009195, batch_cost: 0.1717, reader_cost: 0.00019, ips: 23.2938 samples/sec | ETA 00:02:36
2023-04-17 14:57:04 [INFO]	[TRAIN] epoch: 2, iter: 100/1000, loss: 0.1300, lr: 0.009104, batch_cost: 0.1697, reader_cost: 0.00144, ips: 23.5693 samples/sec | ETA 00:02:32
2023-04-17 14:57:06 [INFO]	[TRAIN] epoch: 2, iter: 110/1000, loss: 0.1105, lr: 0.009013, batch_cost: 0.1767, reader_cost: 0.00058, ips: 22.6331 samples/sec | ETA 00:02:37
2023-04-17 14:57:08 [INFO]	[TRAIN] epoch: 2, iter: 120/1000, loss: 0.1203, lr: 0.008922, batch_cost: 0.1817, reader_cost: 0.00023, ips: 22.0152 samples/sec | ETA 00:02:39
2023-04-17 14:57:09 [INFO]	[TRAIN] epoch: 2, iter: 130/1000, loss: 0.1280, lr: 0.008831, batch_cost: 0.1835, reader_cost: 0.00023, ips: 21.7939 samples/sec | ETA 00:02:39
2023-04-17 14:57:11 [INFO]	[TRAIN] epoch: 3, iter: 140/1000, loss: 0.1398, lr: 0.008740, batch_cost: 0.2004, reader_cost: 0.01695, ips: 19.9617 samples/sec | ETA 00:02:52
2023-04-17 14:57:13 [INFO]	[TRAIN] epoch: 3, iter: 150/1000, loss: 0.1050, lr: 0.008648, batch_cost: 0.1860, reader_cost: 0.00064, ips: 21.5105 samples/sec | ETA 00:02:38
2023-04-17 14:57:15 [INFO]	[TRAIN] epoch: 3, iter: 160/1000, loss: 0.0917, lr: 0.008557, batch_cost: 0.1840, reader_cost: 0.00071, ips: 21.7387 samples/sec | ETA 00:02:34
2023-04-17 14:57:18 [INFO]	[TRAIN] epoch: 3, iter: 170/1000, loss: 0.1131, lr: 0.008465, batch_cost: 0.2818, reader_cost: 0.00062, ips: 14.1947 samples/sec | ETA 00:03:53
2023-04-17 14:57:20 [INFO]	[TRAIN] epoch: 3, iter: 180/1000, loss: 0.1282, lr: 0.008374, batch_cost: 0.2457, reader_cost: 0.00059, ips: 16.2797 samples/sec | ETA 00:03:21
2023-04-17 14:57:22 [INFO]	[TRAIN] epoch: 3, iter: 190/1000, loss: 0.1054, lr: 0.008282, batch_cost: 0.1832, reader_cost: 0.00064, ips: 21.8293 samples/sec | ETA 00:02:28
2023-04-17 14:57:24 [INFO]	[TRAIN] epoch: 4, iter: 200/1000, loss: 0.0883, lr: 0.008190, batch_cost: 0.1841, reader_cost: 0.02428, ips: 21.7325 samples/sec | ETA 00:02:27
2023-04-17 14:57:26 [INFO]	[TRAIN] epoch: 4, iter: 210/1000, loss: 0.0647, lr: 0.008098, batch_cost: 0.1914, reader_cost: 0.00065, ips: 20.8941 samples/sec | ETA 00:02:31
2023-04-17 14:57:28 [INFO]	[TRAIN] epoch: 4, iter: 220/1000, loss: 0.0734, lr: 0.008005, batch_cost: 0.1835, reader_cost: 0.00061, ips: 21.7982 samples/sec | ETA 00:02:23
2023-04-17 14:57:30 [INFO]	[TRAIN] epoch: 4, iter: 230/1000, loss: 0.0686, lr: 0.007913, batch_cost: 0.1729, reader_cost: 0.00021, ips: 23.1404 samples/sec | ETA 00:02:13
2023-04-17 14:57:31 [INFO]	[TRAIN] epoch: 4, iter: 240/1000, loss: 0.0662, lr: 0.007821, batch_cost: 0.1804, reader_cost: 0.00020, ips: 22.1685 samples/sec | ETA 00:02:17
2023-04-17 14:57:33 [INFO]	[TRAIN] epoch: 4, iter: 250/1000, loss: 0.1325, lr: 0.007728, batch_cost: 0.1673, reader_cost: 0.00058, ips: 23.9108 samples/sec | ETA 00:02:05
2023-04-17 14:57:35 [INFO]	[TRAIN] epoch: 4, iter: 260/1000, loss: 0.0677, lr: 0.007635, batch_cost: 0.1800, reader_cost: 0.00068, ips: 22.2174 samples/sec | ETA 00:02:13
2023-04-17 14:57:37 [INFO]	[TRAIN] epoch: 5, iter: 270/1000, loss: 0.0670, lr: 0.007543, batch_cost: 0.1860, reader_cost: 0.01406, ips: 21.5053 samples/sec | ETA 00:02:15
2023-04-17 14:57:39 [INFO]	[TRAIN] epoch: 5, iter: 280/1000, loss: 0.0927, lr: 0.007450, batch_cost: 0.1840, reader_cost: 0.00066, ips: 21.7432 samples/sec | ETA 00:02:12
2023-04-17 14:57:40 [INFO]	[TRAIN] epoch: 5, iter: 290/1000, loss: 0.0711, lr: 0.007357, batch_cost: 0.1876, reader_cost: 0.00022, ips: 21.3194 samples/sec | ETA 00:02:13
2023-04-17 14:57:42 [INFO]	[TRAIN] epoch: 5, iter: 300/1000, loss: 0.0610, lr: 0.007264, batch_cost: 0.1869, reader_cost: 0.00022, ips: 21.4039 samples/sec | ETA 00:02:10
2023-04-17 14:57:44 [INFO]	[TRAIN] epoch: 5, iter: 310/1000, loss: 0.0587, lr: 0.007170, batch_cost: 0.1913, reader_cost: 0.00023, ips: 20.9050 samples/sec | ETA 00:02:12
2023-04-17 14:57:46 [INFO]	[TRAIN] epoch: 5, iter: 320/1000, loss: 0.0801, lr: 0.007077, batch_cost: 0.1865, reader_cost: 0.00062, ips: 21.4471 samples/sec | ETA 00:02:06
2023-04-17 14:57:48 [INFO]	[TRAIN] epoch: 5, iter: 330/1000, loss: 0.0554, lr: 0.006983, batch_cost: 0.1526, reader_cost: 0.00017, ips: 26.2159 samples/sec | ETA 00:01:42
2023-04-17 14:57:50 [INFO]	[TRAIN] epoch: 6, iter: 340/1000, loss: 0.0572, lr: 0.006889, batch_cost: 0.2533, reader_cost: 0.01760, ips: 15.7913 samples/sec | ETA 00:02:47
2023-04-17 14:57:53 [INFO]	[TRAIN] epoch: 6, iter: 350/1000, loss: 0.0654, lr: 0.006796, batch_cost: 0.2372, reader_cost: 0.00030, ips: 16.8659 samples/sec | ETA 00:02:34
2023-04-17 14:57:54 [INFO]	[TRAIN] epoch: 6, iter: 360/1000, loss: 0.0588, lr: 0.006702, batch_cost: 0.1882, reader_cost: 0.00100, ips: 21.2507 samples/sec | ETA 00:02:00
2023-04-17 14:57:57 [INFO]	[TRAIN] epoch: 6, iter: 370/1000, loss: 0.0576, lr: 0.006607, batch_cost: 0.2174, reader_cost: 0.00058, ips: 18.4014 samples/sec | ETA 00:02:16
2023-04-17 14:57:58 [INFO]	[TRAIN] epoch: 6, iter: 380/1000, loss: 0.0681, lr: 0.006513, batch_cost: 0.1749, reader_cost: 0.00022, ips: 22.8648 samples/sec | ETA 00:01:48
2023-04-17 14:58:00 [INFO]	[TRAIN] epoch: 6, iter: 390/1000, loss: 0.0690, lr: 0.006419, batch_cost: 0.1690, reader_cost: 0.00020, ips: 23.6622 samples/sec | ETA 00:01:43
2023-04-17 14:58:02 [INFO]	[TRAIN] epoch: 7, iter: 400/1000, loss: 0.0447, lr: 0.006324, batch_cost: 0.1825, reader_cost: 0.01652, ips: 21.9185 samples/sec | ETA 00:01:49
2023-04-17 14:58:04 [INFO]	[TRAIN] epoch: 7, iter: 410/1000, loss: 0.0637, lr: 0.006229, batch_cost: 0.1819, reader_cost: 0.00098, ips: 21.9948 samples/sec | ETA 00:01:47
2023-04-17 14:58:06 [INFO]	[TRAIN] epoch: 7, iter: 420/1000, loss: 0.0641, lr: 0.006134, batch_cost: 0.1838, reader_cost: 0.00022, ips: 21.7608 samples/sec | ETA 00:01:46
2023-04-17 14:58:07 [INFO]	[TRAIN] epoch: 7, iter: 430/1000, loss: 0.0386, lr: 0.006039, batch_cost: 0.1774, reader_cost: 0.00058, ips: 22.5486 samples/sec | ETA 00:01:41
2023-04-17 14:58:09 [INFO]	[TRAIN] epoch: 7, iter: 440/1000, loss: 0.0364, lr: 0.005944, batch_cost: 0.1804, reader_cost: 0.00057, ips: 22.1788 samples/sec | ETA 00:01:40
2023-04-17 14:58:11 [INFO]	[TRAIN] epoch: 7, iter: 450/1000, loss: 0.0417, lr: 0.005848, batch_cost: 0.1662, reader_cost: 0.00021, ips: 24.0732 samples/sec | ETA 00:01:31
2023-04-17 14:58:13 [INFO]	[TRAIN] epoch: 7, iter: 460/1000, loss: 0.0509, lr: 0.005753, batch_cost: 0.1720, reader_cost: 0.00058, ips: 23.2565 samples/sec | ETA 00:01:32
2023-04-17 14:58:15 [INFO]	[TRAIN] epoch: 8, iter: 470/1000, loss: 0.1320, lr: 0.005657, batch_cost: 0.2386, reader_cost: 0.01169, ips: 16.7617 samples/sec | ETA 00:02:06
2023-04-17 14:58:17 [INFO]	[TRAIN] epoch: 8, iter: 480/1000, loss: 0.0689, lr: 0.005561, batch_cost: 0.1869, reader_cost: 0.00057, ips: 21.3961 samples/sec | ETA 00:01:37
2023-04-17 14:58:19 [INFO]	[TRAIN] epoch: 8, iter: 490/1000, loss: 0.0776, lr: 0.005465, batch_cost: 0.1964, reader_cost: 0.00061, ips: 20.3634 samples/sec | ETA 00:01:40
2023-04-17 14:58:21 [INFO]	[TRAIN] epoch: 8, iter: 500/1000, loss: 0.0579, lr: 0.005369, batch_cost: 0.2013, reader_cost: 0.00100, ips: 19.8714 samples/sec | ETA 00:01:40
2023-04-17 14:58:21 [INFO]	Start evaluating (total_samples: 76, total_iters: 76)...
76/76 [==============================] - 6s 81ms/step - batch_cost: 0.0807 - reader cost: 5.0916e-04
2023-04-17 14:58:27 [INFO]	[EVAL] #Images: 76 mIoU: 0.8665 Acc: 0.9941 Kappa: 0.8469 Dice: 0.9234
2023-04-17 14:58:27 [INFO]	[EVAL] Class IoU: 
[0.994 0.739]
2023-04-17 14:58:27 [INFO]	[EVAL] Class Precision: 
[0.9984 0.7934]
2023-04-17 14:58:27 [INFO]	[EVAL] Class Recall: 
[0.9955 0.9151]
2023-04-17 14:58:27 [INFO]	[EVAL] The model with the best validation mIoU (0.8665) was saved at iter 500.
2023-04-17 14:58:29 [INFO]	[TRAIN] epoch: 8, iter: 510/1000, loss: 0.0530, lr: 0.005272, batch_cost: 0.1799, reader_cost: 0.00019, ips: 22.2354 samples/sec | ETA 00:01:28
2023-04-17 14:58:31 [INFO]	[TRAIN] epoch: 8, iter: 520/1000, loss: 0.0402, lr: 0.005175, batch_cost: 0.1932, reader_cost: 0.00022, ips: 20.7009 samples/sec | ETA 00:01:32
2023-04-17 14:58:33 [INFO]	[TRAIN] epoch: 9, iter: 530/1000, loss: 0.0484, lr: 0.005078, batch_cost: 0.1912, reader_cost: 0.01616, ips: 20.9249 samples/sec | ETA 00:01:29
2023-04-17 14:58:35 [INFO]	[TRAIN] epoch: 9, iter: 540/1000, loss: 0.0584, lr: 0.004981, batch_cost: 0.2206, reader_cost: 0.00033, ips: 18.1338 samples/sec | ETA 00:01:41
2023-04-17 14:58:37 [INFO]	[TRAIN] epoch: 9, iter: 550/1000, loss: 0.0464, lr: 0.004884, batch_cost: 0.1991, reader_cost: 0.00212, ips: 20.0863 samples/sec | ETA 00:01:29
2023-04-17 14:58:39 [INFO]	[TRAIN] epoch: 9, iter: 560/1000, loss: 0.0485, lr: 0.004786, batch_cost: 0.1757, reader_cost: 0.00059, ips: 22.7657 samples/sec | ETA 00:01:17
2023-04-17 14:58:41 [INFO]	[TRAIN] epoch: 9, iter: 570/1000, loss: 0.0426, lr: 0.004688, batch_cost: 0.1695, reader_cost: 0.00027, ips: 23.6019 samples/sec | ETA 00:01:12
2023-04-17 14:58:43 [INFO]	[TRAIN] epoch: 9, iter: 580/1000, loss: 0.0464, lr: 0.004590, batch_cost: 0.1734, reader_cost: 0.00069, ips: 23.0633 samples/sec | ETA 00:01:12
2023-04-17 14:58:44 [INFO]	[TRAIN] epoch: 9, iter: 590/1000, loss: 0.0572, lr: 0.004492, batch_cost: 0.1652, reader_cost: 0.00018, ips: 24.2180 samples/sec | ETA 00:01:07
2023-04-17 14:58:46 [INFO]	[TRAIN] epoch: 10, iter: 600/1000, loss: 0.0604, lr: 0.004394, batch_cost: 0.1745, reader_cost: 0.01671, ips: 22.9191 samples/sec | ETA 00:01:09
2023-04-17 14:58:48 [INFO]	[TRAIN] epoch: 10, iter: 610/1000, loss: 0.0651, lr: 0.004295, batch_cost: 0.1915, reader_cost: 0.00064, ips: 20.8873 samples/sec | ETA 00:01:14
2023-04-17 14:58:50 [INFO]	[TRAIN] epoch: 10, iter: 620/1000, loss: 0.0352, lr: 0.004196, batch_cost: 0.1742, reader_cost: 0.00028, ips: 22.9583 samples/sec | ETA 00:01:06
2023-04-17 14:58:51 [INFO]	[TRAIN] epoch: 10, iter: 630/1000, loss: 0.0476, lr: 0.004097, batch_cost: 0.1833, reader_cost: 0.00021, ips: 21.8257 samples/sec | ETA 00:01:07
2023-04-17 14:58:53 [INFO]	[TRAIN] epoch: 10, iter: 640/1000, loss: 0.0660, lr: 0.003997, batch_cost: 0.1657, reader_cost: 0.00059, ips: 24.1443 samples/sec | ETA 00:00:59
2023-04-17 14:58:55 [INFO]	[TRAIN] epoch: 10, iter: 650/1000, loss: 0.0395, lr: 0.003897, batch_cost: 0.1787, reader_cost: 0.00023, ips: 22.3844 samples/sec | ETA 00:01:02
2023-04-17 14:58:57 [INFO]	[TRAIN] epoch: 10, iter: 660/1000, loss: 0.0412, lr: 0.003797, batch_cost: 0.1852, reader_cost: 0.00028, ips: 21.5993 samples/sec | ETA 00:01:02
2023-04-17 14:58:59 [INFO]	[TRAIN] epoch: 11, iter: 670/1000, loss: 0.0408, lr: 0.003697, batch_cost: 0.2372, reader_cost: 0.01716, ips: 16.8609 samples/sec | ETA 00:01:18
2023-04-17 14:59:01 [INFO]	[TRAIN] epoch: 11, iter: 680/1000, loss: 0.0663, lr: 0.003596, batch_cost: 0.1888, reader_cost: 0.00058, ips: 21.1918 samples/sec | ETA 00:01:00
2023-04-17 14:59:03 [INFO]	[TRAIN] epoch: 11, iter: 690/1000, loss: 0.0696, lr: 0.003495, batch_cost: 0.1720, reader_cost: 0.00018, ips: 23.2603 samples/sec | ETA 00:00:53
2023-04-17 14:59:04 [INFO]	[TRAIN] epoch: 11, iter: 700/1000, loss: 0.0370, lr: 0.003394, batch_cost: 0.1687, reader_cost: 0.00162, ips: 23.7098 samples/sec | ETA 00:00:50
2023-04-17 14:59:06 [INFO]	[TRAIN] epoch: 11, iter: 710/1000, loss: 0.0450, lr: 0.003292, batch_cost: 0.1696, reader_cost: 0.00064, ips: 23.5806 samples/sec | ETA 00:00:49
2023-04-17 14:59:08 [INFO]	[TRAIN] epoch: 11, iter: 720/1000, loss: 0.0318, lr: 0.003190, batch_cost: 0.1707, reader_cost: 0.00019, ips: 23.4329 samples/sec | ETA 00:00:47
2023-04-17 14:59:09 [INFO]	[TRAIN] epoch: 12, iter: 730/1000, loss: 0.0379, lr: 0.003088, batch_cost: 0.1694, reader_cost: 0.01184, ips: 23.6103 samples/sec | ETA 00:00:45
2023-04-17 14:59:11 [INFO]	[TRAIN] epoch: 12, iter: 740/1000, loss: 0.0759, lr: 0.002985, batch_cost: 0.1812, reader_cost: 0.00022, ips: 22.0776 samples/sec | ETA 00:00:47
2023-04-17 14:59:13 [INFO]	[TRAIN] epoch: 12, iter: 750/1000, loss: 0.0355, lr: 0.002882, batch_cost: 0.1740, reader_cost: 0.00070, ips: 22.9950 samples/sec | ETA 00:00:43
2023-04-17 14:59:15 [INFO]	[TRAIN] epoch: 12, iter: 760/1000, loss: 0.0381, lr: 0.002779, batch_cost: 0.1862, reader_cost: 0.00032, ips: 21.4840 samples/sec | ETA 00:00:44
2023-04-17 14:59:17 [INFO]	[TRAIN] epoch: 12, iter: 770/1000, loss: 0.0373, lr: 0.002675, batch_cost: 0.1839, reader_cost: 0.00023, ips: 21.7454 samples/sec | ETA 00:00:42
2023-04-17 14:59:19 [INFO]	[TRAIN] epoch: 12, iter: 780/1000, loss: 0.0308, lr: 0.002570, batch_cost: 0.1879, reader_cost: 0.00068, ips: 21.2879 samples/sec | ETA 00:00:41
2023-04-17 14:59:21 [INFO]	[TRAIN] epoch: 12, iter: 790/1000, loss: 0.0388, lr: 0.002465, batch_cost: 0.1929, reader_cost: 0.00027, ips: 20.7397 samples/sec | ETA 00:00:40
2023-04-17 14:59:22 [INFO]	[TRAIN] epoch: 13, iter: 800/1000, loss: 0.0439, lr: 0.002360, batch_cost: 0.1930, reader_cost: 0.01305, ips: 20.7244 samples/sec | ETA 00:00:38
2023-04-17 14:59:24 [INFO]	[TRAIN] epoch: 13, iter: 810/1000, loss: 0.0465, lr: 0.002254, batch_cost: 0.1903, reader_cost: 0.00026, ips: 21.0155 samples/sec | ETA 00:00:36
2023-04-17 14:59:26 [INFO]	[TRAIN] epoch: 13, iter: 820/1000, loss: 0.0380, lr: 0.002147, batch_cost: 0.1793, reader_cost: 0.00063, ips: 22.3071 samples/sec | ETA 00:00:32
2023-04-17 14:59:28 [INFO]	[TRAIN] epoch: 13, iter: 830/1000, loss: 0.0407, lr: 0.002040, batch_cost: 0.1803, reader_cost: 0.00022, ips: 22.1903 samples/sec | ETA 00:00:30
2023-04-17 14:59:31 [INFO]	[TRAIN] epoch: 13, iter: 840/1000, loss: 0.0317, lr: 0.001933, batch_cost: 0.2541, reader_cost: 0.00104, ips: 15.7399 samples/sec | ETA 00:00:40
2023-04-17 14:59:33 [INFO]	[TRAIN] epoch: 13, iter: 850/1000, loss: 0.0354, lr: 0.001824, batch_cost: 0.2087, reader_cost: 0.00131, ips: 19.1656 samples/sec | ETA 00:00:31
2023-04-17 14:59:34 [INFO]	[TRAIN] epoch: 14, iter: 860/1000, loss: 0.0435, lr: 0.001715, batch_cost: 0.1788, reader_cost: 0.01202, ips: 22.3755 samples/sec | ETA 00:00:25
2023-04-17 14:59:36 [INFO]	[TRAIN] epoch: 14, iter: 870/1000, loss: 0.0404, lr: 0.001605, batch_cost: 0.1811, reader_cost: 0.00022, ips: 22.0910 samples/sec | ETA 00:00:23
2023-04-17 14:59:38 [INFO]	[TRAIN] epoch: 14, iter: 880/1000, loss: 0.0360, lr: 0.001495, batch_cost: 0.1977, reader_cost: 0.00034, ips: 20.2353 samples/sec | ETA 00:00:23
2023-04-17 14:59:40 [INFO]	[TRAIN] epoch: 14, iter: 890/1000, loss: 0.0441, lr: 0.001383, batch_cost: 0.1781, reader_cost: 0.00096, ips: 22.4619 samples/sec | ETA 00:00:19
2023-04-17 14:59:42 [INFO]	[TRAIN] epoch: 14, iter: 900/1000, loss: 0.0412, lr: 0.001270, batch_cost: 0.1710, reader_cost: 0.00063, ips: 23.3910 samples/sec | ETA 00:00:17
2023-04-17 14:59:43 [INFO]	[TRAIN] epoch: 14, iter: 910/1000, loss: 0.0386, lr: 0.001156, batch_cost: 0.1718, reader_cost: 0.00061, ips: 23.2784 samples/sec | ETA 00:00:15
2023-04-17 14:59:45 [INFO]	[TRAIN] epoch: 14, iter: 920/1000, loss: 0.0393, lr: 0.001041, batch_cost: 0.1797, reader_cost: 0.00059, ips: 22.2636 samples/sec | ETA 00:00:14
2023-04-17 14:59:47 [INFO]	[TRAIN] epoch: 15, iter: 930/1000, loss: 0.0457, lr: 0.000925, batch_cost: 0.1801, reader_cost: 0.01616, ips: 22.2147 samples/sec | ETA 00:00:12
2023-04-17 14:59:49 [INFO]	[TRAIN] epoch: 15, iter: 940/1000, loss: 0.0331, lr: 0.000807, batch_cost: 0.1965, reader_cost: 0.00023, ips: 20.3553 samples/sec | ETA 00:00:11
2023-04-17 14:59:51 [INFO]	[TRAIN] epoch: 15, iter: 950/1000, loss: 0.0337, lr: 0.000687, batch_cost: 0.1823, reader_cost: 0.00103, ips: 21.9386 samples/sec | ETA 00:00:09
2023-04-17 14:59:52 [INFO]	[TRAIN] epoch: 15, iter: 960/1000, loss: 0.0640, lr: 0.000564, batch_cost: 0.1629, reader_cost: 0.00017, ips: 24.5522 samples/sec | ETA 00:00:06
2023-04-17 14:59:54 [INFO]	[TRAIN] epoch: 15, iter: 970/1000, loss: 0.0342, lr: 0.000439, batch_cost: 0.1649, reader_cost: 0.00017, ips: 24.2634 samples/sec | ETA 00:00:04
2023-04-17 14:59:56 [INFO]	[TRAIN] epoch: 15, iter: 980/1000, loss: 0.0349, lr: 0.000309, batch_cost: 0.1623, reader_cost: 0.00017, ips: 24.6481 samples/sec | ETA 00:00:03
2023-04-17 14:59:58 [INFO]	[TRAIN] epoch: 15, iter: 990/1000, loss: 0.0443, lr: 0.000173, batch_cost: 0.1848, reader_cost: 0.00025, ips: 21.6424 samples/sec | ETA 00:00:01
2023-04-17 15:00:00 [INFO]	[TRAIN] epoch: 16, iter: 1000/1000, loss: 0.0323, lr: 0.000020, batch_cost: 0.1999, reader_cost: 0.01375, ips: 20.0084 samples/sec | ETA 00:00:00
2023-04-17 15:00:00 [INFO]	Start evaluating (total_samples: 76, total_iters: 76)...
76/76 [==============================] - 5s 66ms/step - batch_cost: 0.0661 - reader cost: 3.5980e-04
2023-04-17 15:00:05 [INFO]	[EVAL] #Images: 76 mIoU: 0.9137 Acc: 0.9967 Kappa: 0.9059 Dice: 0.9530
2023-04-17 15:00:05 [INFO]	[EVAL] Class IoU: 
[0.9966 0.8309]
2023-04-17 15:00:05 [INFO]	[EVAL] Class Precision: 
[0.998  0.9246]
2023-04-17 15:00:05 [INFO]	[EVAL] Class Recall: 
[0.9986 0.8913]
2023-04-17 15:00:06 [INFO]	[EVAL] The model with the best validation mIoU (0.9137) was saved at iter 1000.
<class 'paddle.nn.layer.conv.Conv2D'>'s flops has been counted
<class 'paddle.nn.layer.norm.BatchNorm2D'>'s flops has been counted
<class 'paddle.nn.layer.activation.ReLU'>'s flops has been counted
<class 'paddle.nn.layer.pooling.AvgPool2D'>'s flops has been counted
<class 'paddle.nn.layer.pooling.AdaptiveAvgPool2D'>'s flops has been counted
Total Flops: 9643807616     Total Params: 12251410

模型导出:静态模型权重文件,后续标注时需要此模型。

!python tools/export.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml --model_path output/best_model/model.pdparams --save_dir output/infer_model
2023-04-17 15:01:21 [WARNING]	Add the `num_classes` in train_dataset and val_dataset config to model config. We suggest you manually set `num_classes` in model config.
2023-04-17 15:01:21 [INFO]	
------------Environment Information-------------
platform: Linux-4.15.0-140-generic-x86_64-with-debian-stretch-sid
Python: 3.7.4 (default, Aug 13 2019, 20:35:49) [GCC 7.3.0]
Paddle compiled with cuda: True
NVCC: Build cuda_11.2.r11.2/compiler.29618528_0
cudnn: 8.2
GPUs used: 1
CUDA_VISIBLE_DEVICES: None
GPU: ['GPU 0: Tesla V100-SXM2-16GB']
GCC: gcc (Ubuntu 7.5.0-3ubuntu1~16.04) 7.5.0
PaddleSeg: 2.8.0
PaddlePaddle: 2.3.2
OpenCV: 4.5.5
------------------------------------------------
2023-04-17 15:01:21 [INFO]	
---------------Config Information---------------
batch_size: 4
iters: 1000
train_dataset:
  dataset_root: data/optic_disc_seg
  mode: train
  num_classes: 2
  train_path: data/optic_disc_seg/train_list.txt
  transforms:
  - max_scale_factor: 2.0
    min_scale_factor: 0.5
    scale_step_size: 0.25
    type: ResizeStepScaling
  - crop_size:
    - 512
    - 512
    type: RandomPaddingCrop
  - type: RandomHorizontalFlip
  - brightness_range: 0.5
    contrast_range: 0.5
    saturation_range: 0.5
    type: RandomDistort
  - type: Normalize
  type: Dataset
val_dataset:
  dataset_root: data/optic_disc_seg
  mode: val
  num_classes: 2
  transforms:
  - type: Normalize
  type: Dataset
  val_path: data/optic_disc_seg/val_list.txt
optimizer:
  momentum: 0.9
  type: SGD
  weight_decay: 4.0e-05
lr_scheduler:
  end_lr: 0
  learning_rate: 0.01
  power: 0.9
  type: PolynomialDecay
loss:
  coef:
  - 1
  - 1
  - 1
  types:
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
------------------------------------------------

2023-04-17 15:01:21 [INFO]	Use the following config to build model
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
W0417 15:01:21.536304  1474 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 11.2, Runtime API Version: 11.2
W0417 15:01:21.536358  1474 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2.
2023-04-17 15:01:23 [INFO]	Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
2023-04-17 15:01:23 [INFO]	There are 265/265 variables loaded into STDCNet.
2023-04-17 15:01:23 [INFO]	Loaded trained params successfully.
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpg6xgkiu2.py:26
The behavior of expression A + B has been unified with elementwise_add(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_add(X, Y, axis=0) instead of A + B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpkt8092ea.py:16
The behavior of expression A * B has been unified with elementwise_mul(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_mul(X, Y, axis=0) instead of A * B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpkt8092ea.py:16
The behavior of expression A - B has been unified with elementwise_sub(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_sub(X, Y, axis=0) instead of A - B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpkt8092ea.py:16
The behavior of expression A + B has been unified with elementwise_add(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_add(X, Y, axis=0) instead of A + B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpsv63pivm.py:16
The behavior of expression A * B has been unified with elementwise_mul(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_mul(X, Y, axis=0) instead of A * B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpsv63pivm.py:16
The behavior of expression A - B has been unified with elementwise_sub(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_sub(X, Y, axis=0) instead of A - B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpsv63pivm.py:16
The behavior of expression A + B has been unified with elementwise_add(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_add(X, Y, axis=0) instead of A + B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpfxnr24w9.py:16
The behavior of expression A * B has been unified with elementwise_mul(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_mul(X, Y, axis=0) instead of A * B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpfxnr24w9.py:16
The behavior of expression A - B has been unified with elementwise_sub(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_sub(X, Y, axis=0) instead of A - B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layers/math_op_patch.py:341: UserWarning: /tmp/tmpfxnr24w9.py:16
The behavior of expression A + B has been unified with elementwise_add(X, Y, axis=-1) from Paddle 2.0. If your code works well in the older versions but crashes in this version, try to use elementwise_add(X, Y, axis=0) instead of A + B. This transitional warning will be dropped in the future.
  op_type, op_type, EXPRESSION_MAP[method_name]))
2023-04-17 15:01:28 [INFO]	
---------------Deploy Information---------------
Deploy:
  input_shape:
  - -1
  - 3
  - -1
  - -1
  model: model.pdmodel
  output_dtype: int32
  output_op: argmax
  params: model.pdiparams
  transforms:
  - type: Normalize

2023-04-17 15:01:28 [INFO]	The inference model is saved in output/infer_model

六、生成annotations

编写代码,对一批新数据进行推理,输出mask和对应标签文件annotations.json

修改后的predict.py代码在github中:https://github.com/chunyuwei/PaddleSeg的release/2.8分支中。

下载即用,不用再次修改;代码如下所示:

# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os
import math
import json

import cv2
import numpy as np
import paddle

from paddleseg import utils
from paddleseg.core import infer
from eiseg.util.polygon import get_polygon
from paddleseg.utils import logger, progbar, visualize


def mkdir(path):
    sub_dir = os.path.dirname(path)
    if not os.path.exists(sub_dir):
        os.makedirs(sub_dir)


def partition_list(arr, m):
    """split the list 'arr' into m pieces"""
    n = int(math.ceil(len(arr) / float(m)))
    return [arr[i:i + n] for i in range(0, len(arr), n)]


def preprocess(im_path, transforms):
    data = {}
    data['img'] = im_path
    data = transforms(data)
    data['img'] = data['img'][np.newaxis, ...]
    data['img'] = paddle.to_tensor(data['img'])
    return data


# convert various types of data into JSON format
class NpEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, np.integer):
            return int(obj)
        elif isinstance(obj, np.floating):
            return float(obj)
        elif isinstance(obj, np.ndarray):
            return obj.tolist()
        elif isinstance(obj, datetime.datetime):
            return obj.strftime('%Y-%m-%dT%H:%M:%S')
        else:
            return super(NpEncoder, self).default(obj)


def predict(model,
            model_path,
            transforms,
            image_list,
            image_dir=None,
            save_dir='output',
            aug_pred=False,
            scales=1.0,
            flip_horizontal=True,
            flip_vertical=False,
            is_slide=False,
            stride=None,
            crop_size=None,
            custom_color=None):
    """
    predict and visualize the image_list.

    Args:
        model (nn.Layer): Used to predict for input image.
        model_path (str): The path of pretrained model.
        transforms (transform.Compose): Preprocess for input image.
        image_list (list): A list of image path to be predicted.
        image_dir (str, optional): The root directory of the images predicted. Default: None.
        save_dir (str, optional): The directory to save the visualized results. Default: 'output'.
        aug_pred (bool, optional): Whether to use mulit-scales and flip augment for predition. Default: False.
        scales (list|float, optional): Scales for augment. It is valid when `aug_pred` is True. Default: 1.0.
        flip_horizontal (bool, optional): Whether to use flip horizontally augment. It is valid when `aug_pred` is True. Default: True.
        flip_vertical (bool, optional): Whether to use flip vertically augment. It is valid when `aug_pred` is True. Default: False.
        is_slide (bool, optional): Whether to predict by sliding window. Default: False.
        stride (tuple|list, optional): The stride of sliding window, the first is width and the second is height.
            It should be provided when `is_slide` is True.
        crop_size (tuple|list, optional):  The crop size of sliding window, the first is width and the second is height.
            It should be provided when `is_slide` is True.
        custom_color (list, optional): Save images with a custom color map. Default: None, use paddleseg's default color map.

    """
    utils.utils.load_entire_model(model, model_path)
    model.eval()
    nranks = paddle.distributed.get_world_size()
    local_rank = paddle.distributed.get_rank()
    if nranks > 1:
        img_lists = partition_list(image_list, nranks)
    else:
        img_lists = [image_list]

    added_saved_dir = os.path.join(save_dir, 'added_prediction')
    pred_saved_dir = os.path.join(save_dir, 'pseudo_color_prediction')
    json_saved_name = os.path.join(save_dir, 'annotations.json')

    polygons = []
    logger.info("Start to predict...")
    progbar_pred = progbar.Progbar(target=len(img_lists[0]), verbose=1)
    color_map = visualize.get_color_map_list(256, custom_color=custom_color)
    with paddle.no_grad():
        # define the nodes required for JSON, including images, colors, etc
        images = []
        annotations = []
        categories = []
        bk_color = {
            "id": 1,
            "name": "bk",
            "color": [0, 0, 0],
            "supercategory": "",
        }
        categories.append(bk_color)
        obj_color = {
            "id": 2,
            "name": "obj",
            "color": [128, 0, 0],
            "supercategory": "",
        }
        categories.append(obj_color)

        for i, im_path in enumerate(img_lists[local_rank]):
            data = preprocess(im_path, transforms)

            if aug_pred:
                pred, _ = infer.aug_inference(
                    model,
                    data['img'],
                    trans_info=data['trans_info'],
                    scales=scales,
                    flip_horizontal=flip_horizontal,
                    flip_vertical=flip_vertical,
                    is_slide=is_slide,
                    stride=stride,
                    crop_size=crop_size)
            else:
                pred, _ = infer.inference(
                    model,
                    data['img'],
                    trans_info=data['trans_info'],
                    is_slide=is_slide,
                    stride=stride,
                    crop_size=crop_size)
            pred = paddle.squeeze(pred)
            pred = pred.numpy().astype('uint8')

            # obtain polygon vertices
            polygons = get_polygon(
                (pred * 255), img_size=pred.shape, building=False)

            # get the saved name
            if image_dir is not None:
                im_file = im_path.replace(image_dir, '')
            else:
                im_file = os.path.basename(im_path)
            if im_file[0] == '/' or im_file[0] == '\\':
                im_file = im_file[1:]

            # save added image
            added_image = utils.visualize.visualize(
                im_path, pred, color_map, weight=0.6)
            added_image_path = os.path.join(added_saved_dir, im_file)
            mkdir(added_image_path)
            cv2.imwrite(added_image_path, added_image)

            # save pseudo color prediction
            pred_mask = utils.visualize.get_pseudo_color_map(pred, color_map)
            pred_saved_path = os.path.join(
                pred_saved_dir, os.path.splitext(im_file)[0] + ".png")
            mkdir(pred_saved_path)
            pred_mask.save(pred_saved_path)

            progbar_pred.update(i + 1)

            # define the information required for a single image
            image = {
                "id": i + 1,
                "width": pred.shape[1],
                "height": pred.shape[0],
                "file_name": im_file,
                "license": "",
                "flickr_url": "",
                "coco_url": "",
                "date_captured": ""
            }
            images.append(image)

            # store polygon vertices in annotation
            annotation = {
                "id": i + 1,
                "iscrowd": 0,
                "image_id": i + 1,
                "category_id": 2,
                "segmentation": [],
                "area": 0,
                "bbox": [],
            }
            for polygon in polygons:
                tmp = []
                for p in polygon:
                    tmp.append(p[0])
                    tmp.append(p[1])
                annotation["segmentation"].append(tmp)
            annotations.append(annotation)

        # summarize all information together to form annotated data
        json_data = {
            "categories": [],
            "images": [],
            "annotations": [],
            "info": "",
            "licenses": [],
        }
        json_data["categories"] = categories
        json_data["images"] = images
        json_data["annotations"] = annotations

        # save JSON file
        open(
            json_saved_name, "w",
            encoding="utf-8").write(json.dumps(
                json_data, cls=NpEncoder))

    logger.info("Predicted images are saved in {} and {} .".format(
        added_saved_dir, pred_saved_dir))

从眼底数据集中找出几张图,放入data/optic_disc_seg_test中,来模拟这个过程:

使用下面的命令,对这批图像进行预测,产生新的标签包括annotations.json。

!python tools/predict.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml --model_path output/best_model/model.pdparams --image_path data/optic_disc_seg_test --save_dir output/result
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg-2.8.0-py3.7.egg/paddleseg/models/layers/ms_deformable_attention.py:107: DeprecationWarning: invalid escape sequence \s
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg-2.8.0-py3.7.egg/paddleseg/models/layers/ms_deformable_attention.py:107: DeprecationWarning: invalid escape sequence \s
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg-2.8.0-py3.7.egg/paddleseg/models/losses/rmi_loss.py:78: DeprecationWarning: invalid escape sequence \i
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddleseg-2.8.0-py3.7.egg/paddleseg/models/losses/rmi_loss.py:78: DeprecationWarning: invalid escape sequence \i
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/__init__.py:107: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import MutableMapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/rcsetup.py:20: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Iterable, Mapping
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/colors.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  from collections import Sized
2023-04-17 15:45:15 [WARNING]	Add the `num_classes` in train_dataset and val_dataset config to model config. We suggest you manually set `num_classes` in model config.
2023-04-17 15:45:15 [INFO]	
------------Environment Information-------------
platform: Linux-4.15.0-158-generic-x86_64-with-debian-stretch-sid
Python: 3.7.4 (default, Aug 13 2019, 20:35:49) [GCC 7.3.0]
Paddle compiled with cuda: True
NVCC: Build cuda_11.2.r11.2/compiler.29618528_0
cudnn: 8.2
GPUs used: 1
CUDA_VISIBLE_DEVICES: None
GPU: ['GPU 0: A100-SXM4-40GB (UUID:']
GCC: gcc (Ubuntu 7.5.0-3ubuntu1~16.04) 7.5.0
PaddleSeg: 2.8.0
PaddlePaddle: 2.3.2
OpenCV: 4.5.5
------------------------------------------------
2023-04-17 15:45:15 [INFO]	
---------------Config Information---------------
batch_size: 4
iters: 1000
train_dataset:
  dataset_root: data/optic_disc_seg
  mode: train
  num_classes: 2
  train_path: data/optic_disc_seg/train_list.txt
  transforms:
  - max_scale_factor: 2.0
    min_scale_factor: 0.5
    scale_step_size: 0.25
    type: ResizeStepScaling
  - crop_size:
    - 512
    - 512
    type: RandomPaddingCrop
  - type: RandomHorizontalFlip
  - brightness_range: 0.5
    contrast_range: 0.5
    saturation_range: 0.5
    type: RandomDistort
  - type: Normalize
  type: Dataset
val_dataset:
  dataset_root: data/optic_disc_seg
  mode: val
  num_classes: 2
  transforms:
  - type: Normalize
  type: Dataset
  val_path: data/optic_disc_seg/val_list.txt
optimizer:
  momentum: 0.9
  type: SGD
  weight_decay: 4.0e-05
lr_scheduler:
  end_lr: 0
  learning_rate: 0.01
  power: 0.9
  type: PolynomialDecay
loss:
  coef:
  - 1
  - 1
  - 1
  types:
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
------------------------------------------------

2023-04-17 15:45:15 [INFO]	Set device: gpu
2023-04-17 15:45:15 [INFO]	Use the following config to build model
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
W0417 15:45:15.177150  6210 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.0, Driver API Version: 11.2, Runtime API Version: 11.2
W0417 15:45:15.177177  6210 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2.
2023-04-17 15:45:16 [INFO]	Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
2023-04-17 15:45:16 [INFO]	There are 265/265 variables loaded into STDCNet.
2023-04-17 15:45:16 [INFO]	The number of images: 3
2023-04-17 15:45:16 [INFO]	Loading pretrained model from output/best_model/model.pdparams
2023-04-17 15:45:16 [INFO]	There are 370/370 variables loaded into PPLiteSeg.
2023-04-17 15:45:16 [INFO]	Start to predict...
3/3 [==============================] - 2s 626ms/step
2023-04-17 15:45:18 [INFO]	Predicted images are saved in output/result/added_prediction and output/result/pseudo_color_prediction .

    - 512
    - 512
    type: RandomPaddingCrop
  - type: RandomHorizontalFlip
  - brightness_range: 0.5
    contrast_range: 0.5
    saturation_range: 0.5
    type: RandomDistort
  - type: Normalize
  type: Dataset
val_dataset:
  dataset_root: data/optic_disc_seg
  mode: val
  num_classes: 2
  transforms:
  - type: Normalize
  type: Dataset
  val_path: data/optic_disc_seg/val_list.txt
optimizer:
  momentum: 0.9
  type: SGD
  weight_decay: 4.0e-05
lr_scheduler:
  end_lr: 0
  learning_rate: 0.01
  power: 0.9
  type: PolynomialDecay
loss:
  coef:
  - 1
  - 1
  - 1
  types:
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
  - type: CrossEntropyLoss
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
------------------------------------------------

2023-04-17 15:45:15 [INFO]	Set device: gpu
2023-04-17 15:45:15 [INFO]	Use the following config to build model
model:
  backbone:
    pretrained: https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
    type: STDC2
  num_classes: 2
  type: PPLiteSeg
W0417 15:45:15.177150  6210 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.0, Driver API Version: 11.2, Runtime API Version: 11.2
W0417 15:45:15.177177  6210 gpu_resources.cc:91] device: 0, cuDNN Version: 8.2.
2023-04-17 15:45:16 [INFO]	Loading pretrained model from https://bj.bcebos.com/paddleseg/dygraph/PP_STDCNet2.tar.gz
2023-04-17 15:45:16 [INFO]	There are 265/265 variables loaded into STDCNet.
2023-04-17 15:45:16 [INFO]	The number of images: 3
2023-04-17 15:45:16 [INFO]	Loading pretrained model from output/best_model/model.pdparams
2023-04-17 15:45:16 [INFO]	There are 370/370 variables loaded into PPLiteSeg.
2023-04-17 15:45:16 [INFO]	Start to predict...
3/3 [==============================] - 2s 626ms/step
2023-04-17 15:45:18 [INFO]	Predicted images are saved in output/result/added_prediction and output/result/pseudo_color_prediction .

使用原来的predict.py预测,只会产生两组结果added_prediction、pseudo_color_prediction:



修改后的predict.py,可以产生annotations.json(才能让PaddleSeg直接读取,并微调mask)

七、调整mask

使用PaddleSeg微调新数据的标签,存为json格式新标签;人工微调之后的结果,保存在data/optic_disc_seg_add中,以供查看。

把上述annotations.json放入label中,和原图放入一个目录中,


打开标注软件:

%cd /home/aistudio/PaddleSeg/EISeg

!python -m eiseg

模型参数加载:加载模型时选择output/infer_model/model.pdiparams即可。

图像加载:打开上述图像文件夹;

微调mask,可以调整眼底的轮廓points,形成新的mask并保存。

八、再次训练

把这批新数据集和对应标签,重新训练模型v2.0:已经放到data/optic_disc_seg_new中。

把新增图像和标注*_pseudo.png分别放入原数据集的JPEGImages和Annotations文件夹中,并修改train_list.txt。

九、小结

加入一批标注好的数据后,再次进行训练,循环往复;随着数据一批批的添加,训练出来的模型更加精准,所需微调的mask也会越少。

请点击此处查看本环境基本用法.

Please click here for more detailed instructions.

此文章为搬运
原项目链接

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐