{ "cells": [ { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# 基于谱神经算子的伯格斯方程求解\n", "\n", "[![下载Notebook](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/resource/_static/logo_notebook.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.5.0/mindflow/zh_cn/data_driven/mindspore_burgers_SNO1D.ipynb) [![下载样例代码](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/resource/_static/logo_download_code.svg)](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.5.0/mindflow/zh_cn/data_driven/mindspore_burgers_SNO1D.py) [![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/r2.5.0/docs/mindflow/docs/source_zh_cn/data_driven/burgers_SNO1D.ipynb)" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## 概述\n", "\n", "计算流体力学是21世纪流体力学领域的重要技术之一,其通过使用数值方法在计算机中对流体力学的控制方程进行求解,从而实现流动的分析、预测和控制。传统的有限元法(finite element method,FEM)和有限差分法(finite difference method,FDM),常用于复杂的仿真流程(物理建模、网格划分、数值离散、迭代求解等),其较高的计算成本,导致求解效率往往较为低下。因此,借助AI提升流体仿真效率是十分必要的。\n", "\n", "近年来,随着神经网络的迅猛发展,为科学计算提供了新的范式。经典的神经网络是在有限维度的空间进行映射,只能学习与特定离散化相关的解。与经典神经网络不同,傅里叶神经算子(Fourier Neural Operator,FNO)是一种能够学习无限维函数空间映射的新型深度学习架构。该架构可直接学习从任意函数参数到解的映射,用于解决一类偏微分方程的求解问题,具有更强的泛化能力。更多信息可参考[Fourier Neural Operator for Parametric Partial Differential Equations](https://arxiv.org/abs/2010.08895)。\n", "\n", "谱神经算子(Spectral Neural Operator,SNO)是利用多项式将计算变换到频谱空间(Chebyshev,Legendre等)的类似FNO的架构。与FNO相比, SNO的特点是由混淆误差引起的系统偏差较小。其中最重要的好处之一是SNO的基的选择更为宽泛,因此可以在其中找到一组最方便表示的多项式。例如,针对问题的对称性或针对时间间隔来选取适应的基。此外,当输入定义在在非结构化网格上时,基于正交多项式的神经算子相比其他谱算子或更有竞争力。\n", "\n", "更多信息可参考, \"[Spectral Neural Operators](https://arxiv.org/abs/2205.10573)\". arXiv preprint arXiv:2205.10573 (2022).\n", "\n", "本案例教程介绍了利用频谱神经算子求解1-d Burgers方程的方法。" ] }, { "cell_type": "markdown", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "## 伯格斯方程(Burgers' equation)\n", "\n", "一维伯格斯方程(1-d Burgers' equation)是一个非线性偏微分方程,具有广泛应用,包括一维粘性流体流动建模。它的形式如下:\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", "其中$u$表示速度场,$u_0$表示初始条件,$\\nu$表示粘度系数。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 问题描述\n", "\n", "本案例利用Spectral Neural Operator学习初始状态到下一时刻状态的映射,实现一维Burgers'方程的求解:\n", "\n", "$$\n", "u_0 \\mapsto u(\\cdot, 1)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 技术路径\n", "\n", "MindFlow求解该问题的具体流程如下:\n", "\n", "1. 创建数据集。\n", "2. 构建模型。\n", "3. 优化器与损失函数。\n", "4. 模型训练。\n", "5. 模型推理和可视化。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 谱神经算子\n", "\n", "下图显示了谱神经算子的架构,它由编码器、多层谱卷积层(谱空间的线性变换)和解码器组成。要计算频谱卷积的正向和逆多项式变换矩阵,应在相应的Gauss正交节点(Chebyshev网格等)对输入进行插值。通过卷积编码层将插值后的输入提升到更高维度的通道。其结果将经过多层谱卷积层,每个层对其截断的谱表示应用线性卷积。SNO层的输出通过卷积解码器投影回目标维度,最后插值回原始节点。\n", "\n", "SNO层执行以下操作:将多项式变换$A$应用于光谱空间(Chebyshev,Legendre等)操作;多项式低阶模态上的线性卷积$L$操作,高阶模态上的过滤操作;而后,应用逆变换 $S={A}^{-1}$(回到物理空间)。然后添加输入层的线性卷积 $W$操作,并应用非线性激活层。\n", "\n", "![SNO网络结构](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/r2.5.0/docs/mindflow/docs/source_zh_cn/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": [ "下述`src`包可以在[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": [ "从[config](https://gitee.com/mindspore/mindscience/blob/r0.7/MindFlow/applications/data_driven/burgers/sno1d/configs/sno1d.yaml)中获得模型、数据、优化器的超参。" ] }, { "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": {}, "source": [ "## 创建数据集\n", "\n", "下载训练与测试数据集: [data_driven/burgers/dataset](https://download.mindspore.cn/mindscience/mindflow/dataset/applications/data_driven/burgers/dataset/)。\n", "\n", "本案例根据Zongyi Li在 [Fourier Neural Operator for Parametric Partial Differential Equations](https://arxiv.org/pdf/2010.08895.pdf) 一文中对数据集的设置生成训练数据集与测试数据集。具体设置如下:\n", "基于周期性边界,生成满足如下分布的初始条件$u_0(x)$:\n", "\n", "$$\n", "u_0 \\sim \\mu, \\mu=\\mathcal{N}\\left(0,625(-\\Delta+25 I)^{-2}\\right)\n", "$$\n", "\n", "本案例选取粘度系数$\\nu=0.1$,并使用分步法求解方程,其中热方程部分在傅里叶空间中精确求解,然后使用前向欧拉方法求解非线性部分。训练集样本量为1000个,测试集样本量为200个。" ] }, { "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": [ "## 构建模型\n", "\n", "网络由1个Encoding layer、多个Spectral layer和Decoding block组成:\n", "\n", "- 编码卷积在情况下对应`SNO1D.encoder`,将输入数据$x$映射到高维;\n", "\n", "- 在这种情况下,SNO层序列对应于`SNO1D.sno_kernel`。利用多项式变换的输入矩阵实现时空域与频域的转换;\n", "\n", "- 解码层对应`SNO1D.decoder`,由两个卷积组成。解码器用于获得最终预测。\n", "\n", "基于上述网络结构,进行模型初始化,其中模型参数可在[配置文件](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": [ "## 优化器与损失函数" ] }, { "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": [ "## 模型训练\n", "\n", "使用 **MindSpore version >= 2.0.0**, 我们可以使用函数式编程来训练神经网络。 `MindFlow` 为非稳态问题 `UnsteadyFlowWithLoss` 提供了一个训练接口,用于模型训练和评估。" ] }, { "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 }