{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 轻量化数据处理\n", "\n", "[![在线运行](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r1.7/resource/_static/logo_modelarts.png)](https://authoring-modelarts-cnnorth4.huaweicloud.com/console/lab?share-url-b64=aHR0cHM6Ly9vYnMuZHVhbHN0YWNrLmNuLW5vcnRoLTQubXlodWF3ZWljbG91ZC5jb20vbWluZHNwb3JlLXdlYnNpdGUvbm90ZWJvb2svcjEuNy90dXRvcmlhbHMvZXhwZXJ0cy96aF9jbi9kYXRhc2V0L21pbmRzcG9yZV9lYWdlci5pcHluYg==&imageid=9d63f4d1-dc09-4873-b669-3483cea777c0) [![下载Notebook](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r1.7/resource/_static/logo_notebook.png)](https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/r1.7/tutorials/experts/zh_cn/dataset/mindspore_eager.ipynb) [![下载样例代码](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r1.7/resource/_static/logo_download_code.png)](https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/r1.7/tutorials/experts/zh_cn/dataset/mindspore_eager.py) [![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r1.7/resource/_static/logo_source.png)](https://gitee.com/mindspore/docs/blob/r1.7/tutorials/experts/source_zh_cn/dataset/eager.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在资源条件允许的情况下,为了追求更高的性能,一般使用数据管道模式执行数据增强算子。\n", "\n", "基于数据管道模式执行的最大特点是需要定义`map`算子,如下图中将`Resize`、`Crop`、`HWC2CHW`算子交由`map`算子调度,由其负责启动和执行给定的数据增强算子,对数据管道的数据进行映射变换。\n", "\n", "![pipelinemode1](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r1.7/tutorials/experts/source_zh_cn/dataset/images/pipeline_mode.jpeg)\n", "\n", "虽然构建数据管道可以批量处理输入数据,但是数据管道的API设计要求用户从构建输入源开始,逐步定义数据管道中的各个处理算子,仅当在定义`map`的时候才会涉及与用户输入数据高度相关的数据增强算子。\n", "\n", "无疑,用户只想重点关注这些与其相关度最高的代码,但其他相关度较低的代码却在整个代码场景中为用户增加了不必要的负担。\n", "\n", "因此,MindSpore提供了一种轻量化的数据处理执行方式,称为Eager模式。\n", "\n", "在Eager模式下,执行数据增强算子不需要依赖构建数据管道`map`,而是以函数式调用的方式执行数据增强算子。因此代码编写会更为简洁且能立即执行得到运行结果,推荐在小型数据增强实验、模型推理等轻量化场景中使用。\n", "\n", "![eagermode1](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r1.7/tutorials/experts/source_zh_cn/dataset/images/eager_mode.jpeg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "MindSpore目前支持在Eager模式执行各种数据增强算子,具体如下所示,更多数据增强算子参见API文档。\n", "\n", "- [vision模块](https://www.mindspore.cn/docs/zh-CN/r1.7/api_python/mindspore.dataset.vision.html)\n", "\n", " - 子模块c_transforms,基于OpenCV实现的图像增强算子。\n", " - 子模块py_transforms,基于Pillow实现的图像增强算子。\n", "\n", "- [text模块](https://www.mindspore.cn/docs/zh-CN/r1.7/api_python/mindspore.dataset.text.html#mindspore-dataset-text-transforms)\n", "\n", " - 子模块transforms,文本处理算子。\n", "\n", "- [transforms模块](https://www.mindspore.cn/docs/zh-CN/r1.7/api_python/mindspore.dataset.transforms.html)\n", "\n", " - 子模块c_transforms,基于C++实现的通用数据增强算子。\n", " - 子模块py_transforms,基于Python实现的通用数据增强算子。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Eager模式\n", "\n", "下面将简要介绍数据增强各模块算子的Eager模式使用方法。使用Eager模式,只需要将数据增强算子本身当成可执行函数即可。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 数据准备\n", "\n", "以下示例代码将图片数据下载到指定位置。" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import os\n", "import requests\n", "\n", "requests.packages.urllib3.disable_warnings()\n", "\n", "def download_dataset(dataset_url, path):\n", " filename = dataset_url.split(\"/\")[-1]\n", " save_path = os.path.join(path, filename)\n", " if os.path.exists(save_path):\n", " return\n", " if not os.path.exists(path):\n", " os.makedirs(path)\n", " res = requests.get(dataset_url, stream=True, verify=False)\n", " with open(save_path, \"wb\") as f:\n", " for chunk in res.iter_content(chunk_size=512):\n", " if chunk:\n", " f.write(chunk)\n", " print(\"The {} file is downloaded and saved in the path {} after processing\".format(os.path.basename(dataset_url), path))\n", "\n", "download_dataset(\"https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/datasets/banana.jpg\", \".\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### vision\n", "\n", "此示例将混用`vision`模块中的`c_tranforms`与`py_transforms`的算子,对给定图像进行变换。\n", "\n", "您仅需要关注使用何种数据增强算子,而不需要关注数据管道的任何代码。\n", "\n", "vision算子的Eager模式支持`numpy.array`或`PIL.Image`类型的数据作为入参。" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Image.type: , Image.shape: (356, 200)\n", "Image.type: , Image.shape: (320, 570, 3)\n", "Image.type: , Image.shape: (280, 280, 3)\n", "Image.type: , Image.shape: (360, 360)\n" ] }, { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from PIL import Image\n", "import matplotlib.pyplot as plt\n", "import mindspore.dataset.vision.c_transforms as C\n", "import mindspore.dataset.vision.py_transforms as P\n", "\n", "img_ori = Image.open(\"banana.jpg\").convert(\"RGB\")\n", "print(\"Image.type: {}, Image.shape: {}\".format(type(img_ori), img_ori.size))\n", "\n", "# Define a Resize op from c_transform and execute it immediately\n", "op1 = C.Resize(size=(320))\n", "img = op1(img_ori)\n", "print(\"Image.type: {}, Image.shape: {}\".format(type(img), img.shape))\n", "\n", "# Define a CenterCrop op from c_transform and execute it immediately\n", "op2 = C.CenterCrop((280, 280))\n", "img = op2(img)\n", "print(\"Image.type: {}, Image.shape: {}\".format(type(img), img.shape))\n", "\n", "# Define a Pad op from py_transform and execute it immediately\n", "# Before calling Pad, you need to call ToPIL()\n", "op3 = P.ToPIL()\n", "op4 = P.Pad(40)\n", "img = op4(op3(img))\n", "print(\"Image.type: {}, Image.shape: {}\".format(type(img), img.size))\n", "\n", "# Show the result\n", "plt.subplot(1, 2, 1)\n", "plt.imshow(img_ori)\n", "plt.title(\"original image\")\n", "plt.subplot(1, 2, 2)\n", "plt.imshow(img)\n", "plt.title(\"transformed image\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### text\n", "\n", "此示例将使用`text`模块中`tranforms`的算子,对给定文本进行变换。\n", "\n", "text算子的Eager模式支持`numpy.array`类型数据的作为入参。" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tokenize result: ['Welcome' 'to' 'Beijing' '!']\n", "ToNumber result: [123456], type: \n" ] } ], "source": [ "import mindspore.dataset.text.transforms as text\n", "from mindspore import dtype as mstype\n", "\n", "# Define a WhitespaceTokenizer op and execute it immediately\n", "txt = \"Welcome to Beijing !\"\n", "txt = text.WhitespaceTokenizer()(txt)\n", "print(\"Tokenize result: {}\".format(txt))\n", "\n", "# Define a ToNumber op and execute it immediately\n", "txt = [\"123456\"]\n", "to_number = text.ToNumber(mstype.int32)\n", "txt = to_number(txt)\n", "print(\"ToNumber result: {}, type: {}\".format(txt, type(txt[0])))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### transforms\n", "\n", "此示例将使用`transforms`模块中`c_tranforms`的的算子,对给定数据进行变换。\n", "\n", "transforms算子的Eager模式支持`numpy.array`类型的数据作为入参。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fill result: [0 0 0 0 0]\n", "OneHot result: [0 0 1 0 0]\n" ] } ], "source": [ "import numpy as np\n", "import mindspore.dataset.transforms.c_transforms as trans\n", "\n", "# Define a Fill op and execute it immediately\n", "data = np.array([1, 2, 3, 4, 5])\n", "fill = trans.Fill(0)\n", "data = fill(data)\n", "print(\"Fill result: \", data)\n", "\n", "# Define a OneHot op and execute it immediately\n", "label = np.array(2)\n", "onehot = trans.OneHot(num_classes=5)\n", "label = onehot(label)\n", "print(\"OneHot result: \", label)" ] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 4 }