Created
April 9, 2019 22:14
-
-
Save botcs/a59f3f59e22e5df93e3e5e4f86718af3 to your computer and use it in GitHub Desktop.
response to https://github.com/facebookresearch/maskrcnn-benchmark/pull/473#discussion_r273623157
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "from maskrcnn_benchmark.structures.segmentation_mask import SegmentationMask" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import pycocotools.mask as mask_utils" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import torch\n", | |
| "import numpy as np\n", | |
| "\n", | |
| "a1 = torch.ones(10, 10).long()\n", | |
| "a2 = np.ones([10, 10], dtype='uint8', order='F')\n", | |
| "b2 = np.zeros([10, 10], dtype='uint8', order='F')\n", | |
| "b2[:5] = 1\n", | |
| "\n", | |
| "rle_masks = [mask_utils.encode(a2), mask_utils.encode(b2)]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[{'size': [10, 10], 'counts': b'0T3'},\n", | |
| " {'size': [10, 10], 'counts': b'055000000000000000000'}]" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "rle_masks" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "sm = SegmentationMask(rle_masks, [10, 10], mode='mask')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import matplotlib.pyplot as plt" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "for m in sm:\n", | |
| " plt.imshow(m.get_mask_tensor())\n", | |
| " plt.show()" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "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.7.2" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment