PaddleX是飞桨全流程开发工具,集飞桨核心框架、模型库、工具及组件等深度学习开发所需全部功能于一身,打通深度学习开发全流程,并提供简明的Python API.
PaddleX代码GitHub链接:https://github.com/PaddlePaddle/PaddleX/tree/develop
PaddleX文档链接:https://paddlex.readthedocs.io/zh_CN/latest/index.html
PaddleX官网链接:https://www.paddlepaddle.org.cn/paddle/paddlex
PaddleX用户QQ群: 1045148026
MobileNetV2是一个图像分类模型,其是基于深度分离卷积和倒置残差结构的网络,能更好的匹配移动和嵌入式设备。此示例在一个小数据集上展示如何通过PaddleX进行训练。
! pip install paddlex -i https://mirror.baidu.com/pypi/simple
Looking in indexes: https://mirror.baidu.com/pypi/simple Collecting paddlex Downloading https://mirror.baidu.com/pypi/packages/a2/84/d68acc5b8b4593d8850798eb791a0909a6cbb02ddc3b357cf292d8847147/paddlex-0.1.5-py3-none-any.whl (190kB) |████████████████████████████████| 194kB 13.2MB/s eta 0:00:01 Collecting colorama (from paddlex) Downloading https://mirror.baidu.com/pypi/packages/c9/dc/45cdef1b4d119eb96316b3117e6d5708a08029992b2fee2c143c7a0a5cc5/colorama-0.4.3-py2.py3-none-any.whl Requirement already satisfied: tqdm in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlex) (4.36.1) Collecting paddleslim==1.0.1 (from paddlex) Downloading https://mirror.baidu.com/pypi/packages/69/3c/880afac020e3393da5a55b4e0b504d2b644a7ebe91092d953185f09660d1/paddleslim-1.0.1-py2.py3-none-any.whl (103kB) |████████████████████████████████| 112kB 5.6MB/s eta 0:00:01 Collecting paddlehub>=1.6.2 (from paddlex) Downloading https://mirror.baidu.com/pypi/packages/6e/07/d4839d63853c01d2f9d040ff079e63e007c9e4084e74f447baf46b426811/paddlehub-1.6.2-py3-none-any.whl (207kB) |████████████████████████████████| 215kB 47.9MB/s eta 0:00:01 Collecting pycocotools (from paddlex) Downloading https://mirror.baidu.com/pypi/packages/96/84/9a07b1095fd8555ba3f3d519517c8743c2554a245f9476e5e39869f948d2/pycocotools-2.0.0.tar.gz (1.5MB) |████████████████████████████████| 1.5MB 41.3MB/s eta 0:00:01 Requirement already satisfied: pyyaml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlex) (5.1.2) Requirement already satisfied: visualdl==1.3.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlex) (1.3.0) Requirement already satisfied: nltk in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (3.4.5) Requirement already satisfied: numpy; python_version >= "3" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (1.16.4) Requirement already satisfied: gunicorn>=19.10.0; sys_platform != "win32" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (20.0.4) Requirement already satisfied: tensorboard>=1.15 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (2.1.0) Requirement already satisfied: Pillow in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (6.2.0) Requirement already satisfied: yapf==0.26.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (0.26.0) Requirement already satisfied: flask>=1.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (1.1.1) Requirement already satisfied: chardet==3.0.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (3.0.4) Requirement already satisfied: six>=1.10.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (1.12.0) Requirement already satisfied: pre-commit in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (1.21.0) Requirement already satisfied: protobuf>=3.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (3.10.0) Requirement already satisfied: cma==2.7.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (2.7.0) Requirement already satisfied: pandas; python_version >= "3" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (0.23.4) Requirement already satisfied: requests in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (2.22.0) Requirement already satisfied: opencv-python in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (4.1.1.26) Requirement already satisfied: sentencepiece in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (0.1.85) Requirement already satisfied: tb-paddle in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (0.3.6) Requirement already satisfied: colorlog in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (4.1.0) Requirement already satisfied: flake8 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlehub>=1.6.2->paddlex) (3.7.9) Requirement already satisfied: scipy in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl==1.3.0->paddlex) (1.3.0) Requirement already satisfied: setuptools>=3.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from gunicorn>=19.10.0; sys_platform != "win32"->paddlehub>=1.6.2->paddlex) (41.4.0) Requirement already satisfied: wheel>=0.26; python_version >= "3" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (0.33.6) Requirement already satisfied: markdown>=2.6.8 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (3.1.1) Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (0.4.1) Requirement already satisfied: grpcio>=1.24.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (1.26.0) Requirement already satisfied: google-auth<2,>=1.6.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (1.10.0) Requirement already satisfied: absl-py>=0.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (0.8.1) Requirement already satisfied: werkzeug>=0.11.15 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (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.0->paddlehub>=1.6.2->paddlex) (2.10.3) Requirement already satisfied: itsdangerous>=0.24 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.0->paddlehub>=1.6.2->paddlex) (1.1.0) Requirement already satisfied: click>=5.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask>=1.1.0->paddlehub>=1.6.2->paddlex) (7.0) Requirement already satisfied: virtualenv>=15.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (16.7.9) Requirement already satisfied: importlib-metadata; python_version < "3.8" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (0.23) Requirement already satisfied: aspy.yaml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (1.3.0) Requirement already satisfied: toml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (0.10.0) Requirement already satisfied: identify>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (1.4.10) Requirement already satisfied: cfgv>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (2.0.1) Requirement already satisfied: nodeenv>=0.11.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->paddlehub>=1.6.2->paddlex) (1.3.4) Requirement already satisfied: pytz>=2011k in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pandas; python_version >= "3"->paddlehub>=1.6.2->paddlex) (2019.3) Requirement already satisfied: python-dateutil>=2.5.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pandas; python_version >= "3"->paddlehub>=1.6.2->paddlex) (2.8.0) Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->paddlehub>=1.6.2->paddlex) (2.8) Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->paddlehub>=1.6.2->paddlex) (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->paddlehub>=1.6.2->paddlex) (1.25.6) Requirement already satisfied: moviepy in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from tb-paddle->paddlehub>=1.6.2->paddlex) (1.0.1) Requirement already satisfied: pyflakes<2.2.0,>=2.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8->paddlehub>=1.6.2->paddlex) (2.1.1) Requirement already satisfied: entrypoints<0.4.0,>=0.3.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8->paddlehub>=1.6.2->paddlex) (0.3) Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8->paddlehub>=1.6.2->paddlex) (0.6.1) Requirement already satisfied: pycodestyle<2.6.0,>=2.5.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8->paddlehub>=1.6.2->paddlex) (2.5.0) Requirement already satisfied: requests-oauthlib>=0.7.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (1.3.0) Requirement already satisfied: rsa<4.1,>=3.1.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (4.0) Requirement already satisfied: cachetools<5.0,>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (4.0.0) Requirement already satisfied: pyasn1-modules>=0.2.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (0.2.7) Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Jinja2>=2.10.1->flask>=1.1.0->paddlehub>=1.6.2->paddlex) (1.1.1) Requirement already satisfied: zipp>=0.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->pre-commit->paddlehub>=1.6.2->paddlex) (0.6.0) Requirement already satisfied: proglog<=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from moviepy->tb-paddle->paddlehub>=1.6.2->paddlex) (0.1.9) Requirement already satisfied: decorator<5.0,>=4.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from moviepy->tb-paddle->paddlehub>=1.6.2->paddlex) (4.4.0) Requirement already satisfied: imageio-ffmpeg>=0.2.0; python_version >= "3.4" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from moviepy->tb-paddle->paddlehub>=1.6.2->paddlex) (0.3.0) Requirement already satisfied: imageio<3.0,>=2.5; python_version >= "3.4" in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from moviepy->tb-paddle->paddlehub>=1.6.2->paddlex) (2.6.1) Requirement already satisfied: oauthlib>=3.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (3.1.0) Requirement already satisfied: pyasn1>=0.1.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from rsa<4.1,>=3.1.4->google-auth<2,>=1.6.3->tensorboard>=1.15->paddlehub>=1.6.2->paddlex) (0.4.8) Requirement already satisfied: more-itertools in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from zipp>=0.5->importlib-metadata; python_version < "3.8"->pre-commit->paddlehub>=1.6.2->paddlex) (7.2.0) Building wheels for collected packages: pycocotools Building wheel for pycocotools (setup.py) ... done Created wheel for pycocotools: filename=pycocotools-2.0.0-cp37-cp37m-linux_x86_64.whl size=286720 sha256=49fc15950227989a4b9c7ff9e3da806ad08e296c8029c58d9842db79d2e531d4 Stored in directory: /home/aistudio/.cache/pip/wheels/87/53/98/53ebc0e2e042812e7626cb4e1e9e5418a7e77c187d1719620f Successfully built pycocotools Installing collected packages: colorama, paddleslim, paddlehub, pycocotools, paddlex Found existing installation: paddlehub 1.5.0 Uninstalling paddlehub-1.5.0: Successfully uninstalled paddlehub-1.5.0 Successfully installed colorama-0.4.3 paddlehub-1.6.2 paddleslim-1.0.1 paddlex-0.1.5 pycocotools-2.0.0
! wget https://bj.bcebos.com/paddlex/datasets/vegetables_cls.tar.gz
! tar xzf vegetables_cls.tar.gz#tar xzf为解压语言
--2020-05-07 20:48:49-- https://bj.bcebos.com/paddlex/datasets/vegetables_cls.tar.gz Resolving bj.bcebos.com (bj.bcebos.com)... 182.61.200.195, 182.61.200.229 Connecting to bj.bcebos.com (bj.bcebos.com)|182.61.200.195|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 26655831 (25M) [application/octet-stream] Saving to: ‘vegetables_cls.tar.gz’ vegetables_cls.tar. 100%[===================>] 25.42M 54.2MB/s in 0.5s 2020-05-07 20:48:50 (54.2 MB/s) - ‘vegetables_cls.tar.gz’ saved [26655831/26655831]
3.1配置GPU
# 设置使用0号GPU卡(如无GPU,执行此代码后仍然会使用CPU训练模型)
import matplotlib
matplotlib.use('Agg')
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'#表示设置0号GPU卡
import paddlex as pdx
2020-05-07 21:07:12,989-INFO: font search path ['/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf', '/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/afm', '/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/pdfcorefonts'] 2020-05-07 21:07:13,509-INFO: generated new fontManager
3.2 定义图像处理流程transforms
定义数据处理流程,其中训练和测试需分别定义,训练过程包括了部分测试过程中不需要的数据增强操作,如在本示例中,训练过程使用了RandomCrop和RandomHorizontalFlip两种数据增强方式。
from paddlex.cls import transforms
train_transforms = transforms.Compose([
transforms.RandomCrop(crop_size=224),
transforms.RandomHorizontalFlip(),
transforms.Normalize()
])
eval_transforms = transforms.Compose([
transforms.ResizeByShort(short_size=256),
transforms.CenterCrop(crop_size=224),
transforms.Normalize()
])
3.3 定义数据集Dataset
分类使用ImageNet格式的数据集,因此采用pdx.datasets.ImageNet来加载数据集
train_dataset = pdx.datasets.ImageNet(
data_dir='vegetables_cls',
file_list='vegetables_cls/train_list.txt',
label_list='vegetables_cls/labels.txt',
transforms=train_transforms,
shuffle=True)
eval_dataset = pdx.datasets.ImageNet(
data_dir='vegetables_cls',
file_list='vegetables_cls/val_list.txt',
label_list='vegetables_cls/labels.txt',
transforms=eval_transforms)
3.4 模型开始训练
使用本数据集在P40上训练,如有GPU,模型的训练过程预估为10分钟左右,如无GPU,则预估为30分钟左右。模型训练过程中每间隔save_interval_epochs轮会保存一次模型在save_dir目录下,同时在保存的过程中也会在验证数据集上计算相关指标。
num_classes = len(train_dataset.labels)
model = pdx.cls.MobileNetV2(num_classes=num_classes)
model.train(num_epochs=10,
train_dataset=train_dataset,
train_batch_size=32,
eval_dataset=eval_dataset,
lr_decay_epochs=[4, 6, 8],
save_interval_epochs=1,
learning_rate=0.025,
save_dir='output/mobilenetv2')
2020-05-07 21:44:20 [INFO] Load pretrain weights from output/mobilenetv2/pretrain/MobileNetV2_x1.0. 2020-05-07 21:44:20 [WARNING] [SKIP] Shape of pretrained weight output/mobilenetv2/pretrain/MobileNetV2_x1.0/fc10_weights doesn't match.(Pretrained: (1280, 1000), Actual: (1280, 6)) 2020-05-07 21:44:20 [WARNING] [SKIP] Shape of pretrained weight output/mobilenetv2/pretrain/MobileNetV2_x1.0/fc10_offset doesn't match.(Pretrained: (1000,), Actual: (6,)) 2020-05-07 21:44:20 [INFO] There are 265 varaibles in output/mobilenetv2/pretrain/MobileNetV2_x1.0 are loaded. 2020-05-07 21:44:25 [INFO] [TRAIN] Epoch=1/10, Step=2/26, loss=1.532003, acc1=0.34375, acc5=0.96875, lr=0.025, time_each_step=2.38s, eta=0:13:23 2020-05-07 21:44:25 [INFO] [TRAIN] Epoch=1/10, Step=4/26, loss=1.06069, acc1=0.59375, acc5=1.0, lr=0.025, time_each_step=1.22s, eta=0:6:49 2020-05-07 21:44:25 [INFO] [TRAIN] Epoch=1/10, Step=6/26, loss=0.978579, acc1=0.6875, acc5=1.0, lr=0.025, time_each_step=0.84s, eta=0:4:40 2020-05-07 21:44:25 [INFO] [TRAIN] Epoch=1/10, Step=8/26, loss=0.09802, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.65s, eta=0:3:34 2020-05-07 21:44:25 [INFO] [TRAIN] Epoch=1/10, Step=10/26, loss=0.028042, acc1=0.96875, acc5=1.0, lr=0.025, time_each_step=0.53s, eta=0:2:54 2020-05-07 21:44:25 [INFO] [TRAIN] Epoch=1/10, Step=12/26, loss=0.228973, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.45s, eta=0:2:27 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=14/26, loss=0.26556, acc1=0.875, acc5=1.0, lr=0.025, time_each_step=0.39s, eta=0:2:8 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=16/26, loss=0.18866, acc1=0.9375, acc5=1.0, lr=0.025, time_each_step=0.35s, eta=0:1:53 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=18/26, loss=0.044035, acc1=0.96875, acc5=1.0, lr=0.025, time_each_step=0.32s, eta=0:1:41 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=20/26, loss=0.613958, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.29s, eta=0:1:32 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=22/26, loss=0.016961, acc1=1.0, acc5=1.0, lr=0.025, time_each_step=0.06s, eta=0:0:17 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=24/26, loss=0.432432, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.05s, eta=0:0:17 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch=1/10, Step=26/26, loss=0.128551, acc1=0.9375, acc5=1.0, lr=0.025, time_each_step=0.05s, eta=0:0:15 2020-05-07 21:44:26 [INFO] [TRAIN] Epoch 1 finished, loss=0.534818, acc1=0.825721, acc5=0.989183, lr=0.025 . 2020-05-07 21:44:26 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
0%| | 0/8 [00:00, ?it/s]share_vars_from is set, scope is ignored. 100%|██████████| 8/8 [00:02<00:00, 3.68it/s]
2020-05-07 21:44:28 [INFO] [EVAL] Finished, Epoch=1, acc1=0.3375, acc5=0.858333 . 2020-05-07 21:44:29 [INFO] Model saved in output/mobilenetv2/best_model. 2020-05-07 21:44:29 [INFO] Model saved in output/mobilenetv2/epoch_1. 2020-05-07 21:44:29 [INFO] Current evaluated best model in eval_dataset is epoch_1, acc1=0.3375 2020-05-07 21:44:31 [INFO] [TRAIN] Epoch=2/10, Step=2/26, loss=1.896111, acc1=0.71875, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:18 2020-05-07 21:44:32 [INFO] [TRAIN] Epoch=2/10, Step=4/26, loss=1.444, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:17 2020-05-07 21:44:32 [INFO] [TRAIN] Epoch=2/10, Step=6/26, loss=0.624015, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.18s, eta=0:1:17 2020-05-07 21:44:32 [INFO] [TRAIN] Epoch=2/10, Step=8/26, loss=0.495175, acc1=0.875, acc5=1.0, lr=0.025, time_each_step=0.19s, eta=0:1:17 2020-05-07 21:44:33 [INFO] [TRAIN] Epoch=2/10, Step=10/26, loss=0.321903, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.2s, eta=0:1:17 2020-05-07 21:44:33 [INFO] [TRAIN] Epoch=2/10, Step=12/26, loss=0.668074, acc1=0.875, acc5=1.0, lr=0.025, time_each_step=0.21s, eta=0:1:17 2020-05-07 21:44:33 [INFO] [TRAIN] Epoch=2/10, Step=14/26, loss=1.342187, acc1=0.75, acc5=1.0, lr=0.025, time_each_step=0.21s, eta=0:1:16 2020-05-07 21:44:33 [INFO] [TRAIN] Epoch=2/10, Step=16/26, loss=2.61917, acc1=0.53125, acc5=0.96875, lr=0.025, time_each_step=0.22s, eta=0:1:16 2020-05-07 21:44:33 [INFO] [TRAIN] Epoch=2/10, Step=18/26, loss=0.225602, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.22s, eta=0:1:15 2020-05-07 21:44:33 [INFO] [TRAIN] Epoch=2/10, Step=20/26, loss=1.174013, acc1=0.8125, acc5=0.96875, lr=0.025, time_each_step=0.22s, eta=0:1:15 2020-05-07 21:44:34 [INFO] [TRAIN] Epoch=2/10, Step=22/26, loss=1.599915, acc1=0.71875, acc5=1.0, lr=0.025, time_each_step=0.11s, eta=0:1:14 2020-05-07 21:44:34 [INFO] [TRAIN] Epoch=2/10, Step=24/26, loss=0.622757, acc1=0.875, acc5=1.0, lr=0.025, time_each_step=0.11s, eta=0:1:14 2020-05-07 21:44:34 [INFO] [TRAIN] Epoch=2/10, Step=26/26, loss=1.363398, acc1=0.71875, acc5=1.0, lr=0.025, time_each_step=0.1s, eta=0:1:14 2020-05-07 21:44:34 [INFO] [TRAIN] Epoch 2 finished, loss=1.256573, acc1=0.789663, acc5=0.996394, lr=0.025 . 2020-05-07 21:44:34 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:03<00:00, 2.21it/s]
2020-05-07 21:44:38 [INFO] [EVAL] Finished, Epoch=2, acc1=0.279167, acc5=0.85 . 2020-05-07 21:44:38 [INFO] Model saved in output/mobilenetv2/epoch_2. 2020-05-07 21:44:38 [INFO] Current evaluated best model in eval_dataset is epoch_1, acc1=0.3375 2020-05-07 21:44:40 [INFO] [TRAIN] Epoch=3/10, Step=2/26, loss=2.628576, acc1=0.625, acc5=1.0, lr=0.025, time_each_step=0.18s, eta=0:1:11 2020-05-07 21:44:40 [INFO] [TRAIN] Epoch=3/10, Step=4/26, loss=2.239786, acc1=0.625, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:10 2020-05-07 21:44:40 [INFO] [TRAIN] Epoch=3/10, Step=6/26, loss=0.738542, acc1=0.78125, acc5=0.96875, lr=0.025, time_each_step=0.17s, eta=0:1:10 2020-05-07 21:44:40 [INFO] [TRAIN] Epoch=3/10, Step=8/26, loss=0.696161, acc1=0.8125, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:9 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=10/26, loss=0.267024, acc1=0.875, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:9 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=12/26, loss=0.623881, acc1=0.8125, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:9 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=14/26, loss=0.368408, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.17s, eta=0:1:8 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=16/26, loss=0.181527, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.16s, eta=0:1:8 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=18/26, loss=0.101542, acc1=0.96875, acc5=1.0, lr=0.025, time_each_step=0.16s, eta=0:1:8 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=20/26, loss=0.558652, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.16s, eta=0:1:7 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=22/26, loss=1.197437, acc1=0.78125, acc5=1.0, lr=0.025, time_each_step=0.07s, eta=0:1:7 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=24/26, loss=0.770007, acc1=0.78125, acc5=1.0, lr=0.025, time_each_step=0.07s, eta=0:1:6 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch=3/10, Step=26/26, loss=0.417574, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.06s, eta=0:1:6 2020-05-07 21:44:41 [INFO] [TRAIN] Epoch 3 finished, loss=0.801692, acc1=0.813702, acc5=0.99399, lr=0.025 . 2020-05-07 21:44:41 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:02<00:00, 3.86it/s]
2020-05-07 21:44:44 [INFO] [EVAL] Finished, Epoch=3, acc1=0.479167, acc5=0.941667 . 2020-05-07 21:44:44 [INFO] Model saved in output/mobilenetv2/best_model. 2020-05-07 21:44:44 [INFO] Model saved in output/mobilenetv2/epoch_3. 2020-05-07 21:44:44 [INFO] Current evaluated best model in eval_dataset is epoch_3, acc1=0.4791666666666667 2020-05-07 21:44:46 [INFO] [TRAIN] Epoch=4/10, Step=2/26, loss=1.182224, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.15s, eta=0:0:43 2020-05-07 21:44:46 [INFO] [TRAIN] Epoch=4/10, Step=4/26, loss=1.742627, acc1=0.75, acc5=1.0, lr=0.025, time_each_step=0.14s, eta=0:0:43 2020-05-07 21:44:46 [INFO] [TRAIN] Epoch=4/10, Step=6/26, loss=1.380183, acc1=0.6875, acc5=1.0, lr=0.025, time_each_step=0.14s, eta=0:0:42 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=8/26, loss=0.141569, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.14s, eta=0:0:42 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=10/26, loss=0.673538, acc1=0.78125, acc5=1.0, lr=0.025, time_each_step=0.15s, eta=0:0:42 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=12/26, loss=0.751721, acc1=0.8125, acc5=0.96875, lr=0.025, time_each_step=0.15s, eta=0:0:42 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=14/26, loss=0.491096, acc1=0.84375, acc5=1.0, lr=0.025, time_each_step=0.15s, eta=0:0:41 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=16/26, loss=0.167963, acc1=0.96875, acc5=1.0, lr=0.025, time_each_step=0.15s, eta=0:0:41 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=18/26, loss=0.536788, acc1=0.8125, acc5=1.0, lr=0.025, time_each_step=0.15s, eta=0:0:41 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=20/26, loss=0.149368, acc1=0.96875, acc5=1.0, lr=0.025, time_each_step=0.15s, eta=0:0:40 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=22/26, loss=0.252041, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.07s, eta=0:0:40 2020-05-07 21:44:47 [INFO] [TRAIN] Epoch=4/10, Step=24/26, loss=0.375243, acc1=0.90625, acc5=1.0, lr=0.025, time_each_step=0.06s, eta=0:0:40 2020-05-07 21:44:48 [INFO] [TRAIN] Epoch=4/10, Step=26/26, loss=0.591301, acc1=0.8125, acc5=1.0, lr=0.025, time_each_step=0.06s, eta=0:0:40 2020-05-07 21:44:48 [INFO] [TRAIN] Epoch 4 finished, loss=0.551419, acc1=0.854567, acc5=0.998798, lr=0.025 . 2020-05-07 21:44:48 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:02<00:00, 3.86it/s]
2020-05-07 21:44:50 [INFO] [EVAL] Finished, Epoch=4, acc1=0.8, acc5=1.0 . 2020-05-07 21:44:50 [INFO] Model saved in output/mobilenetv2/best_model. 2020-05-07 21:44:50 [INFO] Model saved in output/mobilenetv2/epoch_4. 2020-05-07 21:44:50 [INFO] Current evaluated best model in eval_dataset is epoch_4, acc1=0.8 2020-05-07 21:44:52 [INFO] [TRAIN] Epoch=5/10, Step=2/26, loss=0.31577, acc1=0.84375, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:36 2020-05-07 21:44:52 [INFO] [TRAIN] Epoch=5/10, Step=4/26, loss=0.176424, acc1=0.90625, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:36 2020-05-07 21:44:52 [INFO] [TRAIN] Epoch=5/10, Step=6/26, loss=0.03432, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:36 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=8/26, loss=0.297261, acc1=0.875, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:35 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=10/26, loss=0.320028, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:35 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=12/26, loss=0.047187, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:35 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=14/26, loss=0.013046, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:35 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=16/26, loss=0.296126, acc1=0.78125, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:34 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=18/26, loss=0.110954, acc1=0.9375, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:34 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=20/26, loss=0.02348, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:34 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=22/26, loss=0.52954, acc1=0.9375, acc5=1.0, lr=0.0025, time_each_step=0.06s, eta=0:0:33 2020-05-07 21:44:53 [INFO] [TRAIN] Epoch=5/10, Step=24/26, loss=0.097222, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.06s, eta=0:0:33 2020-05-07 21:44:54 [INFO] [TRAIN] Epoch=5/10, Step=26/26, loss=0.218073, acc1=0.90625, acc5=1.0, lr=0.0025, time_each_step=0.06s, eta=0:0:33 2020-05-07 21:44:54 [INFO] [TRAIN] Epoch 5 finished, loss=0.167506, acc1=0.936298, acc5=1.0, lr=0.0025 . 2020-05-07 21:44:54 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:01<00:00, 4.06it/s]
2020-05-07 21:44:56 [INFO] [EVAL] Finished, Epoch=5, acc1=0.979167, acc5=1.0 . 2020-05-07 21:44:56 [INFO] Model saved in output/mobilenetv2/best_model. 2020-05-07 21:44:56 [INFO] Model saved in output/mobilenetv2/epoch_5. 2020-05-07 21:44:56 [INFO] Current evaluated best model in eval_dataset is epoch_5, acc1=0.9791666666666666 2020-05-07 21:44:58 [INFO] [TRAIN] Epoch=6/10, Step=2/26, loss=0.028802, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:30 2020-05-07 21:44:58 [INFO] [TRAIN] Epoch=6/10, Step=4/26, loss=0.245101, acc1=0.875, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:30 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=6/26, loss=0.061643, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:30 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=8/26, loss=0.015369, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.14s, eta=0:0:29 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=10/26, loss=0.085581, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:29 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=12/26, loss=0.07217, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:29 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=14/26, loss=0.249081, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:29 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=16/26, loss=0.049835, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:28 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=18/26, loss=0.010964, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:28 2020-05-07 21:44:59 [INFO] [TRAIN] Epoch=6/10, Step=20/26, loss=0.043141, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.15s, eta=0:0:28 2020-05-07 21:45:00 [INFO] [TRAIN] Epoch=6/10, Step=22/26, loss=0.097587, acc1=0.96875, acc5=1.0, lr=0.0025, time_each_step=0.07s, eta=0:0:27 2020-05-07 21:45:00 [INFO] [TRAIN] Epoch=6/10, Step=24/26, loss=0.016673, acc1=1.0, acc5=1.0, lr=0.0025, time_each_step=0.07s, eta=0:0:27 2020-05-07 21:45:00 [INFO] [TRAIN] Epoch=6/10, Step=26/26, loss=0.128802, acc1=0.90625, acc5=1.0, lr=0.0025, time_each_step=0.07s, eta=0:0:27 2020-05-07 21:45:00 [INFO] [TRAIN] Epoch 6 finished, loss=0.103385, acc1=0.966346, acc5=1.0, lr=0.0025 . 2020-05-07 21:45:00 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:02<00:00, 3.38it/s]
2020-05-07 21:45:02 [INFO] [EVAL] Finished, Epoch=6, acc1=0.979167, acc5=1.0 . 2020-05-07 21:45:03 [INFO] Model saved in output/mobilenetv2/epoch_6. 2020-05-07 21:45:03 [INFO] Current evaluated best model in eval_dataset is epoch_5, acc1=0.9791666666666666 2020-05-07 21:45:05 [INFO] [TRAIN] Epoch=7/10, Step=2/26, loss=0.236864, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.16s, eta=0:0:25 2020-05-07 21:45:05 [INFO] [TRAIN] Epoch=7/10, Step=4/26, loss=0.011565, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.16s, eta=0:0:25 2020-05-07 21:45:05 [INFO] [TRAIN] Epoch=7/10, Step=6/26, loss=0.09462, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.16s, eta=0:0:24 2020-05-07 21:45:05 [INFO] [TRAIN] Epoch=7/10, Step=8/26, loss=0.004865, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.16s, eta=0:0:24 2020-05-07 21:45:05 [INFO] [TRAIN] Epoch=7/10, Step=10/26, loss=0.053568, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.16s, eta=0:0:24 2020-05-07 21:45:06 [INFO] [TRAIN] Epoch=7/10, Step=12/26, loss=0.086915, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.17s, eta=0:0:24 2020-05-07 21:45:06 [INFO] [TRAIN] Epoch=7/10, Step=14/26, loss=0.011036, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.17s, eta=0:0:23 2020-05-07 21:45:06 [INFO] [TRAIN] Epoch=7/10, Step=16/26, loss=0.035791, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.18s, eta=0:0:23 2020-05-07 21:45:06 [INFO] [TRAIN] Epoch=7/10, Step=18/26, loss=0.003799, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.18s, eta=0:0:23 2020-05-07 21:45:06 [INFO] [TRAIN] Epoch=7/10, Step=20/26, loss=0.004237, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.18s, eta=0:0:22 2020-05-07 21:45:06 [INFO] [TRAIN] Epoch=7/10, Step=22/26, loss=0.018971, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.09s, eta=0:0:22 2020-05-07 21:45:07 [INFO] [TRAIN] Epoch=7/10, Step=24/26, loss=0.059751, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.09s, eta=0:0:21 2020-05-07 21:45:07 [INFO] [TRAIN] Epoch=7/10, Step=26/26, loss=0.048698, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.09s, eta=0:0:21 2020-05-07 21:45:07 [INFO] [TRAIN] Epoch 7 finished, loss=0.043153, acc1=0.989183, acc5=1.0, lr=0.00025 . 2020-05-07 21:45:07 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:06<00:00, 1.17it/s]
2020-05-07 21:45:14 [INFO] [EVAL] Finished, Epoch=7, acc1=0.9875, acc5=1.0 . 2020-05-07 21:45:14 [INFO] Model saved in output/mobilenetv2/best_model. 2020-05-07 21:45:14 [INFO] Model saved in output/mobilenetv2/epoch_7. 2020-05-07 21:45:14 [INFO] Current evaluated best model in eval_dataset is epoch_7, acc1=0.9875 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=2/26, loss=0.048457, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.25s, eta=0:0:36 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=4/26, loss=0.030875, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.25s, eta=0:0:36 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=6/26, loss=0.098255, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.24s, eta=0:0:35 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=8/26, loss=0.047599, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.24s, eta=0:0:34 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=10/26, loss=0.106196, acc1=0.9375, acc5=1.0, lr=0.00025, time_each_step=0.23s, eta=0:0:34 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=12/26, loss=0.006788, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.23s, eta=0:0:33 2020-05-07 21:45:18 [INFO] [TRAIN] Epoch=8/10, Step=14/26, loss=0.063924, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.23s, eta=0:0:33 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch=8/10, Step=16/26, loss=0.050152, acc1=0.96875, acc5=1.0, lr=0.00025, time_each_step=0.23s, eta=0:0:32 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch=8/10, Step=18/26, loss=0.060109, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.22s, eta=0:0:32 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch=8/10, Step=20/26, loss=0.315468, acc1=0.90625, acc5=1.0, lr=0.00025, time_each_step=0.22s, eta=0:0:31 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch=8/10, Step=22/26, loss=0.033128, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.06s, eta=0:0:30 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch=8/10, Step=24/26, loss=0.005278, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.06s, eta=0:0:30 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch=8/10, Step=26/26, loss=0.027827, acc1=1.0, acc5=1.0, lr=0.00025, time_each_step=0.06s, eta=0:0:30 2020-05-07 21:45:19 [INFO] [TRAIN] Epoch 8 finished, loss=0.089286, acc1=0.973558, acc5=1.0, lr=0.00025 . 2020-05-07 21:45:19 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:02<00:00, 3.90it/s]
2020-05-07 21:45:21 [INFO] [EVAL] Finished, Epoch=8, acc1=0.9875, acc5=1.0 . 2020-05-07 21:45:22 [INFO] Model saved in output/mobilenetv2/epoch_8. 2020-05-07 21:45:22 [INFO] Current evaluated best model in eval_dataset is epoch_7, acc1=0.9875 2020-05-07 21:45:23 [INFO] [TRAIN] Epoch=9/10, Step=2/26, loss=0.069875, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:13 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=4/26, loss=0.052767, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:12 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=6/26, loss=0.091927, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:12 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=8/26, loss=0.004784, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:12 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=10/26, loss=0.055603, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:12 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=12/26, loss=0.003081, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:11 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=14/26, loss=0.081931, acc1=0.9375, acc5=1.0, lr=2.5e-05, time_each_step=0.16s, eta=0:0:11 2020-05-07 21:45:24 [INFO] [TRAIN] Epoch=9/10, Step=16/26, loss=0.006497, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:11 2020-05-07 21:45:25 [INFO] [TRAIN] Epoch=9/10, Step=18/26, loss=0.038693, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:10 2020-05-07 21:45:25 [INFO] [TRAIN] Epoch=9/10, Step=20/26, loss=0.40133, acc1=0.875, acc5=1.0, lr=2.5e-05, time_each_step=0.16s, eta=0:0:10 2020-05-07 21:45:25 [INFO] [TRAIN] Epoch=9/10, Step=22/26, loss=0.086293, acc1=0.9375, acc5=1.0, lr=2.5e-05, time_each_step=0.06s, eta=0:0:9 2020-05-07 21:45:25 [INFO] [TRAIN] Epoch=9/10, Step=24/26, loss=0.005415, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.06s, eta=0:0:9 2020-05-07 21:45:25 [INFO] [TRAIN] Epoch=9/10, Step=26/26, loss=0.042998, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.06s, eta=0:0:9 2020-05-07 21:45:25 [INFO] [TRAIN] Epoch 9 finished, loss=0.10488, acc1=0.96875, acc5=0.998798, lr=2.5e-05 . 2020-05-07 21:45:25 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:02<00:00, 3.77it/s]
2020-05-07 21:45:27 [INFO] [EVAL] Finished, Epoch=9, acc1=0.983333, acc5=1.0 . 2020-05-07 21:45:27 [INFO] Model saved in output/mobilenetv2/epoch_9. 2020-05-07 21:45:27 [INFO] Current evaluated best model in eval_dataset is epoch_7, acc1=0.9875 2020-05-07 21:45:29 [INFO] [TRAIN] Epoch=10/10, Step=2/26, loss=0.029109, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.14s, eta=0:0:5 2020-05-07 21:45:29 [INFO] [TRAIN] Epoch=10/10, Step=4/26, loss=0.004584, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.14s, eta=0:0:5 2020-05-07 21:45:29 [INFO] [TRAIN] Epoch=10/10, Step=6/26, loss=0.002359, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.14s, eta=0:0:5 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=8/26, loss=0.005814, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.14s, eta=0:0:4 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=10/26, loss=0.004133, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.14s, eta=0:0:4 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=12/26, loss=0.016492, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:4 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=14/26, loss=0.003616, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:4 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=16/26, loss=0.052521, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:3 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=18/26, loss=0.011209, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:3 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=20/26, loss=0.005794, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.15s, eta=0:0:3 2020-05-07 21:45:30 [INFO] [TRAIN] Epoch=10/10, Step=22/26, loss=0.115706, acc1=0.96875, acc5=1.0, lr=2.5e-05, time_each_step=0.06s, eta=0:0:2 2020-05-07 21:45:31 [INFO] [TRAIN] Epoch=10/10, Step=24/26, loss=0.000838, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.06s, eta=0:0:2 2020-05-07 21:45:31 [INFO] [TRAIN] Epoch=10/10, Step=26/26, loss=0.036192, acc1=1.0, acc5=1.0, lr=2.5e-05, time_each_step=0.06s, eta=0:0:2 2020-05-07 21:45:31 [INFO] [TRAIN] Epoch 10 finished, loss=0.057964, acc1=0.983173, acc5=1.0, lr=2.5e-05 . 2020-05-07 21:45:31 [INFO] Start to evaluating(total_samples=240, total_steps=8)...
100%|██████████| 8/8 [00:01<00:00, 4.00it/s]
2020-05-07 21:45:33 [INFO] [EVAL] Finished, Epoch=10, acc1=0.983333, acc5=1.0 . 2020-05-07 21:45:33 [INFO] Model saved in output/mobilenetv2/epoch_10. 2020-05-07 21:45:33 [INFO] Current evaluated best model in eval_dataset is epoch_7, acc1=0.9875
4.模型预测
result = model.predict('vegetables_cls/bocai/100.jpg', topk=3)
print("Predict Result:", result)
Predict Result: [{'category_id': 0, 'category': 'bocai', 'score': 0.99903834}, {'category_id': 5, 'category': 'xilanhua', 'score': 0.00092376507}, {'category_id': 3, 'category': 'huluobo', 'score': 3.1336727e-05}]
从结果可以看出,预测的图片是白菜,预测出的白菜的得分最高是0.99903834,而其余蔬菜的得分都很低。说明模型预测效果好。