{ "cells": [ { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# Solve Burgers' equation based on Spectral Neural Operator\n", "\n", "[![DownloadNotebook](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/resource/_static/logo_notebook_en.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.5.0/mindflow/en/data_driven/mindspore_burgers_SNO1D.ipynb) [![DownloadCode](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/resource/_static/logo_download_code_en.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.5.0/mindflow/en/data_driven/mindspore_burgers_SNO1D.py) [![View Source On Gitee](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/resource/_static/logo_source_en.svg)](https://gitee.com/mindspore/docs/blob/r2.5.0/docs/mindflow/docs/source_en/data_driven/burgers_SNO1D.ipynb)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Overview\n", "\n", "Computational fluid dynamics is one of the most important techniques in the field of fluid mechanics in the 21st century. The flow analysis, prediction and control can be realized by solving the governing equations of fluid mechanics by numerical method. Traditional finite element method (FEM) and finite difference method (FDM) are inefficient because of the complex simulation process (physical modeling, meshing, numerical discretization, iterative solution, etc.) and high computing costs. Therefore, it is necessary to improve the efficiency of fluid simulation with AI.\n", "\n", "Machine learning methods provide a new paradigm for scientific computing by providing a fast solver similar to traditional methods. Classical neural networks learn mappings between finite dimensional spaces and can only learn solutions related to a specific discretization. Different from traditional neural networks, Fourier Neural Operator (FNO) is a new deep learning architecture that can learn mappings between infinite-dimensional function spaces. It directly learns mappings from arbitrary function parameters to solutions to solve a class of partial differential equations. Therefore, it has a stronger generalization capability. More information can be found in the paper, [Fourier Neural Operator for Parametric Partial Differential Equations](https://arxiv.org/abs/2010.08895).\n", "\n", "Spectral Neural Operator (SNO) is the FNO-like architecture using polynomial transformation to spectral space (Chebyshev, Legendre, etc.) instead of Fourier.\n", "SNO is characterized by smaller systematic bias caused by aliasing errors compared to FNO. One of the most important benefits of the architecture is that SNO supports multiple choice of basis, so it is possible to find a set of polynomials which is the most convenient for representation, e.g., respect symmetries of the problem or fit well into the solution interval. Besides, the neural operators, based on orthogonal polynomials, may be competitive with other spectral operators in case when the input function is defined on unstructured grid.\n", "\n", "More information can be found in the paper, \"[Spectral Neural Operators](https://arxiv.org/abs/2205.10573)\". arXiv preprint arXiv:2205.10573 (2022).\n", "\n", "This tutorial describes how to solve the 1-d Burgers' equation using Spectral neural operator." ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Burgers' equation\n", "\n", "The 1-d Burgers’ equation is a non-linear PDE with various applications including modeling the one\n", "dimensional flow of a viscous fluid. It takes the form\n", "\n", "$$\n", "\\partial_t u(x, t)+\\partial_x (u^2(x, t)/2)=\\nu \\partial_{xx} u(x, t), \\quad x \\in(0,1), t \\in(0, 1]\n", "$$\n", "\n", "$$\n", "u(x, 0)=u_0(x), \\quad x \\in(0,1)\n", "$$\n", "\n", "where $u$ is the velocity field, $u_0$ is the initial condition and $\\nu$ is the viscosity coefficient.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Problem Description\n", "\n", "We aim to learn the operator mapping the initial condition to the solution at time one:\n", "\n", "$$\n", "u_0 \\mapsto u(\\cdot, 1)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Technology Path\n", "\n", "MindFlow solves the problem as follows:\n", "\n", "1. Training Dataset Construction.\n", "2. Model Construction.\n", "3. Optimizer and Loss Function.\n", "4. Model Training." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spectral Neural Operator\n", "\n", "The following figure shows the architecture of the Spectral Neural Operator, which consists of encoder, multiple spectral convolution layers (linear transformation in space of coefficients in polynomial basis) and decoder.\n", "To compute forward and inverse polynomial transformation matrices for spectral convolutions, the input should be interpolated at the respective Gauss quadrature nodes (Chebyshev grid, etc.).\n", "The interpolated input is lifted to a higher dimension channel space by a convolutional Encoder layer. The result comes to the input of a sequence of spectral (SNO) layers, each of which applies a linear convolution to its truncated spectral representation. The output of SNO layers is projected back to the target dimension by a convolutional Decoder, and finally interpolated back to the original nodes.\n", "\n", "The spectral (SNO) layer performs the following operations: applies the polynomial transformation $A$ to spectral space (Chebyshev, Legendre, etc.); a linear convolution $L$ on the lower polynomial modes and filters out the higher modes; then applies the inverse conversion $S={A}^{-1}$ (back to the physical space). Then a linear convolution $W$ of input is added, and nonlinear activation is applied.\n", "\n", "![Spectral Neural Operator model structure](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/docs/mindflow/docs/source_en/data_driven/images/SNO.png)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [] }, "outputs": [], "source": [ "import os\n", "import time\n", "import numpy as np\n", "\n", "from mindspore import context, nn, Tensor, set_seed, ops, data_sink, jit, save_checkpoint\n", "from mindspore import dtype as mstype\n", "from mindflow.cell import SNO1D, get_poly_transform\n", "from mindflow import RelativeRMSELoss, load_yaml_config, get_warmup_cosine_annealing_lr\n", "from mindflow.pde import UnsteadyFlowWithLoss\n", "from mindflow.utils import print_log" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following `src` pacakage can be downloaded in [applications/data_driven/burgers/sno1d/src](https://gitee.com/mindspore/mindscience/tree/r0.7/MindFlow/applications/data_driven/burgers/sno1d/src)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [] }, "outputs": [], "source": [ "from src import create_training_dataset, load_interp_data, test_error, visual\n", "\n", "set_seed(0)\n", "np.random.seed(0)\n", "\n", "context.set_context(mode=context.GRAPH_MODE, device_target=\"GPU\", device_id=0)\n", "use_ascend = context.get_context(attr_key='device_target') == \"Ascend\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can get parameters of model, data and optimizer from `config`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [] }, "outputs": [], "source": [ "config = load_yaml_config('./configs/sno1d.yaml')\n", "data_params = config[\"data\"]\n", "model_params = config[\"model\"]\n", "optimizer_params = config[\"optimizer\"]\n", "summary_params = config[\"summary\"]" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Training Dataset Construction\n", "\n", "Download the training and test dataset: [data_driven/burgers/dataset](https://download.mindspore.cn/mindscience/mindflow/dataset/applications/data_driven/burgers/dataset/) .\n", "\n", "In this case, training datasets and test datasets are generated according to Zongyi Li's dataset in [Fourier Neural Operator for Parametric Partial Differential Equations](https://arxiv.org/pdf/2010.08895.pdf) . The settings are as follows:\n", "\n", "the initial condition $u_0(x)$ is generated according to periodic boundary conditions:\n", "\n", "$$\n", "u_0 \\sim \\mu, \\mu=\\mathcal{N}\\left(0,625(-\\Delta+25 I)^{-2}\\right)\n", "$$\n", "\n", "We set the viscosity to $\\nu=0.1$ and solve the equation using a split step method where the heat equation part is solved exactly in Fourier space then the non-linear part is advanced, again in Fourier space, using a very fine forward Euler method. The number of samples in the training set is 1000, and the number of samples in the test set is 200.\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [] }, "outputs": [], "source": [ "poly_type = data_params['poly_type']\n", "\n", "# create training dataset\n", "load_interp_data(data_params, dataset_type='train')\n", "train_dataset = create_training_dataset(data_params, shuffle=True)\n", "\n", "# create test dataset\n", "test_data = load_interp_data(data_params, dataset_type='test')\n", "test_input = Tensor(test_data['test_inputs'], mstype.float32)\n", "test_label = Tensor(test_data['test_labels'], mstype.float32)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Model Construction\n", "\n", "The network is composed of 1 encoding layer, multiple spectral layers and decoding block:\n", "\n", "- The encoding convolution corresponds to the `SNO1D.encoder` in the case, and maps the input data $x$ to the high dimension;\n", "\n", "- A sequence of SNO layers corresponds to the `SNO1D.sno_kernel` in the case. Input matrices of polynomial transformation(forward and inverse conversions) are used to realize the transition between space-time domain and frequency domain;\n", "\n", "- The decoding layer corresponds to `SNO1D.decoder` and consists of two convolutions.The decoder is used to obtain the final prediction.\n", "\n", "The initialization of the model based on the network above, parameters can be modified in [configuration file](https://gitee.com/mindspore/mindscience/blob/r0.7/MindFlow/applications/data_driven/burgers/sno1d/configs/sno1d.yaml)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [] }, "outputs": [], "source": [ "n_modes = model_params['modes']\n", "resolution = data_params['resolution']\n", "\n", "transform_data = get_poly_transform(resolution, n_modes, poly_type)\n", "\n", "transform = Tensor(transform_data[\"analysis\"], mstype.float32)\n", "inv_transform = Tensor(transform_data[\"synthesis\"], mstype.float32)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "root_dir:./_name:SNO1D_in_channels:1_out_channels:1_hidden_channels:128_sno_layers:6_modes:15\n", "(128, 1, 1, 1)\n", "(128, 128, 1, 5)\n", "(128, 128, 1, 1)\n", "(128, 128, 1, 5)\n", "(128, 128, 1, 1)\n", "(128, 128, 1, 5)\n", "(128, 128, 1, 1)\n", "(128, 128, 1, 5)\n", "(128, 128, 1, 1)\n", "(128, 128, 1, 5)\n", "(128, 128, 1, 1)\n", "(128, 128, 1, 5)\n", "(128, 128, 1, 1)\n", "(128, 128, 1, 1)\n", "(1, 128, 1, 1)\n", "Total Parameters:606464\n" ] } ], "source": [ "model = SNO1D(in_channels=model_params['in_channels'],\n", " out_channels=model_params['out_channels'],\n", " hidden_channels=model_params['hidden_channels'],\n", " num_sno_layers=model_params['sno_layers'],\n", " transforms=[[transform, inv_transform]],\n", " compute_dtype=mstype.float32)\n", "\n", "model_params_list = []\n", "for k, v in model_params.items():\n", " model_params_list.append(f\"{k}:{v}\")\n", "model_name = \"_\".join(model_params_list)\n", "print(model_name)\n", "total = 0\n", "for param in model.get_parameters():\n", " print_log(param.shape)\n", " total += param.size\n", "print_log(f\"Total Parameters:{total}\")" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Optimizer and Loss Function" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [] }, "outputs": [], "source": [ "steps_per_epoch = train_dataset.get_dataset_size()\n", "\n", "lr = get_warmup_cosine_annealing_lr(lr_init=optimizer_params[\"learning_rate\"],\n", " last_epoch=optimizer_params[\"epochs\"],\n", " steps_per_epoch=steps_per_epoch,\n", " warmup_epochs=1)\n", "\n", "optimizer = nn.AdamWeightDecay(model.trainable_params(), learning_rate=Tensor(lr),\n", " weight_decay=optimizer_params['weight_decay'])" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## Model Training\n", "\n", "With **MindSpore version >= 2.0.0**, we can use the functional programming for training neural networks. `MindFlow` provide a training interface for unsteady problems `UnsteadyFlowWithLoss` for model training and evaluation." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "epoch: 2 train loss: 13.560559272766113 epoch time: 0.29s\n", "epoch: 4 train loss: 7.8073320388793945 epoch time: 0.29s\n", "epoch: 6 train loss: 5.312091827392578 epoch time: 0.29s\n", "epoch: 8 train loss: 4.512760162353516 epoch time: 0.29s\n", "epoch: 10 train loss: 4.524318695068359 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.082584664 unif err 0.08160467609741283\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.082584664, on regular grid: 0.08160467609741283\n", "=================================End Evaluation=================================\n", "predict total time: 0.9047303199768066 s\n", "epoch: 12 train loss: 3.368042230606079 epoch time: 0.29s\n", "epoch: 14 train loss: 3.7890400886535645 epoch time: 0.29s\n", "epoch: 16 train loss: 2.914067268371582 epoch time: 0.29s\n", "epoch: 18 train loss: 3.0474812984466553 epoch time: 0.29s\n", "epoch: 20 train loss: 2.3820204734802246 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.051907677 unif err 0.055236216344648134\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.051907677, on regular grid: 0.055236216344648134\n", "=================================End Evaluation=================================\n", "predict total time: 0.3307943344116211 s\n", "epoch: 22 train loss: 2.1899354457855225 epoch time: 0.29s\n", "epoch: 24 train loss: 2.6020946502685547 epoch time: 0.29s\n", "epoch: 26 train loss: 2.1262004375457764 epoch time: 0.29s\n", "epoch: 28 train loss: 2.752087116241455 epoch time: 0.29s\n", "epoch: 30 train loss: 2.1657941341400146 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.042794246 unif err 0.043356370460405406\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.042794246, on regular grid: 0.043356370460405406\n", "=================================End Evaluation=================================\n", "predict total time: 0.3187530040740967 s\n", "epoch: 32 train loss: 2.115807056427002 epoch time: 0.29s\n", "epoch: 34 train loss: 2.2428648471832275 epoch time: 0.29s\n", "epoch: 36 train loss: 1.8951427936553955 epoch time: 0.29s\n", "epoch: 38 train loss: 2.274214029312134 epoch time: 0.29s\n", "epoch: 40 train loss: 1.5807445049285889 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.034330513 unif err 0.0356441642704777\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.034330513, on regular grid: 0.0356441642704777\n", "=================================End Evaluation=================================\n", "predict total time: 0.32185792922973633 s\n", "epoch: 42 train loss: 1.6506515741348267 epoch time: 0.29s\n", "epoch: 44 train loss: 2.08235502243042 epoch time: 0.29s\n", "epoch: 46 train loss: 1.8833307027816772 epoch time: 0.29s\n", "epoch: 48 train loss: 1.9333553314208984 epoch time: 0.29s\n", "epoch: 50 train loss: 1.6440622806549072 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.033291295 unif err 0.033457853864207195\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.033291295, on regular grid: 0.033457853864207195\n", "=================================End Evaluation=================================\n", "\n", "...\n", "\n", "predict total time: 0.3366513252258301 s\n", "epoch: 462 train loss: 0.24820879101753235 epoch time: 0.29s\n", "epoch: 464 train loss: 0.24735520780086517 epoch time: 0.29s\n", "epoch: 466 train loss: 0.2482168972492218 epoch time: 0.29s\n", "epoch: 468 train loss: 0.22737035155296326 epoch time: 0.29s\n", "epoch: 470 train loss: 0.2804833650588989 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.010561488 unif err 0.013948327043853818\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.010561488, on regular grid: 0.013948327043853818\n", "=================================End Evaluation=================================\n", "predict total time: 0.3300166130065918 s\n", "epoch: 472 train loss: 0.22485128045082092 epoch time: 0.29s\n", "epoch: 474 train loss: 0.23889896273612976 epoch time: 0.29s\n", "epoch: 476 train loss: 0.21668389439582825 epoch time: 0.29s\n", "epoch: 478 train loss: 0.1889769434928894 epoch time: 0.29s\n", "epoch: 480 train loss: 0.2677367329597473 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.010574474 unif err 0.014019374833847865\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.010574474, on regular grid: 0.014019374833847865\n", "=================================End Evaluation=================================\n", "predict total time: 0.3232889175415039 s\n", "epoch: 482 train loss: 0.2441430538892746 epoch time: 0.29s\n", "epoch: 484 train loss: 0.24202264845371246 epoch time: 0.29s\n", "epoch: 486 train loss: 0.23344917595386505 epoch time: 0.29s\n", "epoch: 488 train loss: 0.21861663460731506 epoch time: 0.29s\n", "epoch: 490 train loss: 0.26446333527565 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.010547794 unif err 0.01386342701108702\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.010547794, on regular grid: 0.01386342701108702\n", "=================================End Evaluation=================================\n", "predict total time: 0.3338737487792969 s\n", "epoch: 492 train loss: 0.23258613049983978 epoch time: 0.29s\n", "epoch: 494 train loss: 0.2514750361442566 epoch time: 0.29s\n", "epoch: 496 train loss: 0.22820161283016205 epoch time: 0.29s\n", "epoch: 498 train loss: 0.2457718849182129 epoch time: 0.29s\n", "epoch: 500 train loss: 0.22753804922103882 epoch time: 0.29s\n", "================================Start Evaluation================================\n", "poly err 0.010547179 unif err 0.013942114215390036\n", "mean rel_rmse_error:\n", "on Gauss grid: 0.010547179, on regular grid: 0.013942114215390036\n", "=================================End Evaluation=================================\n", "predict total time: 0.32792139053344727 s\n" ] } ], "source": [ "problem = UnsteadyFlowWithLoss(model, loss_fn=RelativeRMSELoss(), data_format=\"NTCHW\")\n", "\n", "def forward_fn(data, label):\n", " loss = problem.get_loss(data, label)\n", " return loss\n", "\n", "grad_fn = ops.value_and_grad(forward_fn, None, optimizer.parameters, has_aux=False)\n", "\n", "@jit\n", "def train_step(data, label):\n", " loss, grads = grad_fn(data, label)\n", " grads = ops.clip_by_global_norm(grads, optimizer_params['grad_clip_norm'])\n", "\n", " loss = ops.depend(loss, optimizer(grads))\n", " return loss\n", "\n", "sink_process = data_sink(train_step, train_dataset, 1)\n", "\n", "summary_dir = summary_params[\"summary_dir\"]\n", "os.makedirs(summary_dir, exist_ok=True)\n", "ckpt_dir = summary_params['ckpt_dir']\n", "os.makedirs(ckpt_dir, exist_ok=True)\n", "\n", "for epoch in range(1, optimizer_params[\"epochs\"] + 1):\n", " local_time_beg = time.time()\n", " model.set_train(True)\n", " for _ in range(steps_per_epoch):\n", " cur_loss = sink_process()\n", "\n", " if epoch % 2 == 0:\n", " print_log(f\"epoch: {epoch} train loss: {cur_loss.asnumpy()} epoch time: {time.time() - local_time_beg:.2f}s\")\n", "\n", " model.set_train(False)\n", " if epoch % summary_params[\"save_ckpt_interval\"] == 0:\n", " save_checkpoint(model, os.path.join(ckpt_dir, f\"{model_params['name']}_epoch{epoch}\"))\n", "\n", " if epoch % summary_params['test_interval'] == 0:\n", " test_error(model, test_input, test_label, data_params)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "tags": [] }, "outputs": [], "source": [ "visual(model, test_input, data_params)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "tags": [] }, "outputs": [ { "data": { "image/jpeg": "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lS0bKSuexOKAOA0aC211fBmj6k8t7p39n3ckkV0OJriJ449rjJDBN0mMk9AeetMtEF4dK8OXTPLog8Q3tr5buSJIokkeOFj/ABKGGMHr5YFd/c+FNEutMs9OexEdtZc2wgkeFoeMfK6EMMgnODznmnSeFtFk0SHRjYItjAweKNGZGjYHO5XBDBskncDnk880AZPgyJLHU/E2k2mRptjfotrGDlYt8EbvGvoAzE47bsV1tUtK0ix0Sz+yafB5MRcyNli7Ox5LMzElifUkmrtABRRRQAUUUUAFNkjWWNo3GVcFSM4yDTqRlDqVOcEYODigDzBIl8M6V8TBocItTZ4kt1i/gb7FG24e+ST9asnTrTwpr+iHw7EEN7pt0bhUJP2ny0Rkkf8AvNuON3U7yK6bTfBOhaTezXlpBd+dOCJvPv7iZZcrt+ZXcq3ygDkHgVY0fwpoug3DXGnWZilMflBnmeTZHnOxN7HYucfKuBwOKAOF0awtNMs/AOs2BJ1PVZI1vpw5L3iyW0kkhk/vYZQwz93GKr2drCnhnRfFag/8JDc61Gk1zuPmSh7oxPCf9gISAvQbQe1egaf4R0LStR+32ViI513+XmV2SLcct5aElY899oFEfhHQodY/tVLEC681px+9cxrIwwZBHnYHOTlgM8nmgDbooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAp6hqlnpa27Xs3kpPMsEbFSV3twoJAwuTxk4GSB1IosdUs9Se6Szm837LMYJiFIUSADKgkYbGcHGcHI6g1meMbC91jQX0eytkkGoMIJ55Cu22iP3pME5ZgB8oH8RBPANN8G6de6Jon9jXduqpYyGK3uVK4uo+okIByH5w2erAkZBoA6GiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import Image, display\n", "\n", "display(Image(filename='images/result.jpg', embed=True))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.16" }, "vscode": { "interpreter": { "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" } } }, "nbformat": 4, "nbformat_minor": 4 }