mmsegmentation/demo/inference_demo.ipynb

188 lines
218 KiB
Plaintext
Raw Normal View History

2020-07-07 20:52:19 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
2020-07-07 20:52:19 +08:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"mkdir: ../checkpoints: File exists\n",
"--2023-02-23 19:23:01-- https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth\n",
"正在解析主机 download.openmmlab.com (download.openmmlab.com)... 116.0.89.205, 116.0.89.209, 116.0.89.207, ...\n",
"正在连接 download.openmmlab.com (download.openmmlab.com)|116.0.89.205|:443... 已连接。\n",
"已发出 HTTP 请求,正在等待回应... 200 OK\n",
"长度196205945 (187M) [application/octet-stream]\n",
"正在保存至: “../checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth.3”\n",
"\n",
"pspnet_r50-d8_512x1 100%[===================>] 187.12M 861KB/s 用时 2m 56s \n",
"\n",
"2023-02-23 19:25:57 (1.06 MB/s) - 已保存 “../checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth.3” [196205945/196205945])\n",
"\n"
]
}
],
2020-07-07 20:52:19 +08:00
"source": [
"!mkdir ../checkpoints\n",
2022-02-10 15:13:57 +08:00
"!wget https://download.openmmlab.com/mmsegmentation/v0.5/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth -P ../checkpoints"
2020-07-07 20:52:19 +08:00
]
},
{
"cell_type": "code",
"execution_count": 2,
2020-07-07 20:52:19 +08:00
"metadata": {
"pycharm": {
"is_executing": true
}
},
"outputs": [],
"source": [
"import torch\n",
"import mmcv\n",
"import matplotlib.pyplot as plt\n",
"from mmengine.model.utils import revert_sync_batchnorm\n",
"from mmseg.apis import init_model, inference_model, show_result_pyplot"
2020-07-07 20:52:19 +08:00
]
},
{
"cell_type": "code",
"execution_count": 3,
2020-07-07 20:52:19 +08:00
"metadata": {
"pycharm": {
"is_executing": true
}
},
"outputs": [],
"source": [
"config_file = '../configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py'\n",
2020-07-07 20:52:19 +08:00
"checkpoint_file = '../checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth'"
]
},
{
"cell_type": "code",
"execution_count": 4,
2020-07-07 20:52:19 +08:00
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/xxc/Desktop/pjlab/mmsegv2/mmseg/models/builder.py:36: UserWarning: ``build_loss`` would be deprecated soon, please use ``mmseg.registry.MODELS.build()`` \n",
" warnings.warn('``build_loss`` would be deprecated soon, please use '\n",
"/Users/xxc/Desktop/pjlab/mmsegv2/mmseg/models/losses/cross_entropy_loss.py:235: UserWarning: Default ``avg_non_ignore`` is False, if you would like to ignore the certain label and average loss over non-ignore labels, which is the same with PyTorch official cross_entropy, set ``avg_non_ignore=True``.\n",
" warnings.warn(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loads checkpoint by local backend from path: ../checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth\n"
]
}
],
2020-07-07 20:52:19 +08:00
"source": [
"# build the model from a config file and a checkpoint file\n",
"model = init_model(config_file, checkpoint_file, device='cuda:0')"
2020-07-07 20:52:19 +08:00
]
},
{
"cell_type": "code",
"execution_count": 5,
2020-07-07 20:52:19 +08:00
"metadata": {},
"outputs": [],
"source": [
"# test a single image\n",
"img = 'demo.png'\n",
"if not torch.cuda.is_available():\n",
" model = revert_sync_batchnorm(model)\n",
"result = inference_model(model, img)"
2020-07-07 20:52:19 +08:00
]
},
{
"cell_type": "code",
"execution_count": 6,
2020-07-07 20:52:19 +08:00
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/anaconda3/envs/pt1.13/lib/python3.10/site-packages/mmengine/visualization/visualizer.py:163: UserWarning: `Visualizer` backend is not initialized because save_dir is None.\n",
" warnings.warn('`Visualizer` backend is not initialized '\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fbd89380160>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
2020-07-07 20:52:19 +08:00
"source": [
"# show the results\n",
"vis_result = show_result_pyplot(model, img, result)\n",
"plt.imshow(mmcv.bgr2rgb(vis_result))"
2020-07-07 20:52:19 +08:00
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "pt1.13",
2020-07-07 20:52:19 +08:00
"language": "python",
2022-02-10 15:13:57 +08:00
"name": "python3"
2020-07-07 20:52:19 +08:00
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
2020-07-07 20:52:19 +08:00
},
"pycharm": {
"stem_cell": {
"cell_type": "raw",
"metadata": {
"collapsed": false
},
"source": []
}
},
"vscode": {
"interpreter": {
"hash": "f61d5b8fecdd960739697f6c2860080d7b76a5be5d896cb034bdb275ab3ddda0"
}
2020-07-07 20:52:19 +08:00
}
},
"nbformat": 4,
"nbformat_minor": 4
}