{ "cells": [ { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [], "source": [ "# -*- coding: utf-8 -*-\n", "# Copyright 2024 United Kingdom Research and Innovation\n", "# Copyright 2024 The University of Manchester\n", "#\n", "# Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# http://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License.\n", "#\n", "#\n", "\n" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [], "source": [ "# Import libraries\n", " \n", "from cil.optimisation.algorithms import FISTA, ISTA\n", "from cil.optimisation.functions import LeastSquares, SGFunction, BlockFunction, SumFunction\n", "\n", "from cil.optimisation.algorithms import GD\n", "from cil.optimisation.utilities import Sampler\n", "\n", "\n", "from cil.io import ZEISSDataReader\n", " \n", "from cil.processors import Slicer, Binner, TransmissionAbsorptionConverter\n", " \n", "from cil.plugins.astra.operators import ProjectionOperator\n", "from cil.plugins.ccpi_regularisation.functions import FGP_TV\n", " \n", "from cil.utilities.display import show2D\n", "from cil.utilities import dataexample\n", " \n", "\n", " \n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import os" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Data information and set-up\n", "\n", "We use the **Walnut** found in [Jørgensen_et_all](https://zenodo.org/record/4822516#.YLXyAJMzZp8). In total, there are 6 individual micro Computed Tomography datasets in the native Zeiss TXRM/TXM format. The six datasets were acquired at the 3D Imaging Center at Technical University of Denmark in 2014 (HDTomo3D in 2016) as part of the ERC-funded project High-Definition Tomography (HDTomo) headed by Prof. Per Christian Hansen. \n", "\n", "This example requires the dataset walnut.zip from https://zenodo.org/record/4822516 :\n", "\n", " https://zenodo.org/record/4822516/files/walnut.zip\n", "\n", "If running locally please download the data and update the `path` variable below." ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [], "source": [ "path = '../../data/walnut/valnut'" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [], "source": [ "reader = ZEISSDataReader()\n", "filename = \"../data/valnut_tomo-A.txrm\"\n", "reader.set_up(file_name=filename)\n", "data3D = reader.read()\n", "\n", "# reorder data to match default order for Astra/Tigre operator\n", "data3D.reorder('astra')\n", "\n", "# Get Image and Acquisition geometries\n", "ag3D = data3D.geometry\n", "ig3D = ag3D.get_ImageGeometry()\n", "\n", "# Extract vertical slice\n", "data2D = data3D.get_slice(vertical='centre')\n", "\n", "# Select every 10 angles\n", "sliced_data = Slicer(roi={'angle':(0,1601,10)})(data2D)\n", "\n", "# Reduce background regions\n", "binned_data = Binner(roi={'horizontal':(120,-120,2)})(sliced_data)\n", "\n", "# Create absorption data \n", "data = TransmissionAbsorptionConverter()(binned_data) \n", "\n", "# Remove circular artifacts\n", "data -= np.mean(data.as_array()[80:100,0:30])\n", "\n", "# Get Image and Acquisition geometries for one slice\n", "ag2D = data.geometry\n", "ag2D.set_angles(ag2D.angles, initial_angle=0.2, angle_unit='radian')\n", "ig2D = ag2D.get_ImageGeometry()\n", "\n", "A = ProjectionOperator(ig2D, ag2D, device = \"gpu\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# A Least squares reconstruction with a fixed step size " ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d171c658a80a419ba9a5d57f05c8f5a5", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/100 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "full_objective=(1/2)*LeastSquares(A, b=data)\n", "myGD_LS = GD(initial=ig2D.allocate(0), \n", " objective_function=full_objective, \n", " step_size=1/full_objective.L, \n", " max_iteration=100, \n", " update_objective_interval=1)\n", "myGD_LS.run(100, verbose=1)\n", "\n", "show2D(myGD_LS.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# A Least squares reconstruction with backtracking to choose the step-size" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "0da3eefa318c41f6bc0963a7a9cd2c52", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/100 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "full_objective=(1/2)*LeastSquares(A, b=data)\n", "myGD_LS_BT = GD(initial=ig2D.allocate(0), \n", " objective_function=full_objective, \n", " max_iteration=100, \n", " update_objective_interval=1)\n", "myGD_LS_BT.run(100, verbose=1)\n", "\n", "show2D(myGD_LS_BT.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Partition the data and define the functions in the separable sum\n", "We need to define the following:\n", "\n", "- The operator $A=(A_1,\\dots,A_n)$.\n", "- The functions $F=(F_1,\\dots,F_N)$ \n", "- A stochastic sampler\n", "- The Stochastic Gradient Sum Function \n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [], "source": [ "# Define number of subsets\n", "n_subsets = 80\n", "\n", "# Initialize the lists containing the F_i's and A_i's\n", "f_subsets = []\n", "A_subsets = []\n", "\n", "# partition the data and build the projectors\n", "partitioned_data = data.partition(n_subsets, 'sequential')\n", "A_partitioned = ProjectionOperator(ig2D, partitioned_data.geometry, device = \"cpu\")\n", "# create the list of functions for the stochastic sum \n", "list_of_functions = [(1/2)*LeastSquares(Ai, b=bi) for Ai,bi in zip(A_partitioned, partitioned_data)]\n", "\n", "#define the sampler and the stochastic gradient function \n", "sampler = Sampler.staggered(len(list_of_functions), stride=2)\n", "f_stochastic = SGFunction(list_of_functions, sampler=sampler) \n", "\n" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "98bc1ae4795244f0a14aa93278cf3556", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/8000 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "mySGD_LS_SG = GD(initial=ig2D.allocate(0), \n", " objective_function=f_stochastic, \n", " step_size=2/(n_subsets*f_stochastic.L), \n", " max_iteration=100*n_subsets, \n", " update_objective_interval=1*n_subsets)\n", "mySGD_LS_SG.run(100*n_subsets, verbose=1)\n", "\n", "show2D(mySGD_LS_SG.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "image/png": "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+2z06NHit99+E998841o0KCB8Pf3FydPnrRNZ926dUKpVIpWrVqJpUuXik2bNokvv/xSjBo1yuG3NGnSRLz++utiw4YN4v333xdqtVqMHz/eru5p06aJTz75RKxbt05s2rRJLFiwQISEhNi1y8nJEcHBwaJ9+/bi//7v/8TWrVvFjz/+KCZOnCiOHj16y/m1efNmAUBs3ry5XL+jJJcvXxbBwcGiXr16YunSpeL3338XY8aMEVFRUQ7T6NWrlwgKChJ169YVH330kdi8ebPYunWrEEKIN998UyxYsED89ttvYsuWLWLx4sUiOjra4W+krOtNIazr7hkzZtjeJycn29p9+umnIj4+Xrz55ptCrVaLcePG2dqVdTk/ffq0GDFihABg97ei0+nEjh07hCRJYtSoUeL3338XmzZtEl999ZUYM2bMTeenEGVbBgrn563Wv0JY1wWhoaGidu3a4quvvhK///67ePjhh23byqL/RiUpXH7r168vnn/+efHnn3+K999/X3h7e4s77rjDbrtc1n/H8vzdFK5Pt2zZIgIDA8W9994rcnNzhRBlW1/Vrl1b9OnTR/z8889i/fr1IjExUWRkZIhx48aJb7/9VmzatEmsW7dOPPfcc0Imk9nNOyGEGDNmjJAkSTz++OPi119/FX/88Yd4++23xQcffGBrU79+fTFkyBAhhBAWi0VMnz5dKJVK8dVXX9mNq/gyWZ7tw+jRo4VMJhMvvfSSWL9+vVi4cKGoW7eu8Pf3v+X2obgyh7zCDUlJKwKTySSMRqPtUTQ4jR07VgAQX3755U3Hb7FYhNFoFOfPnxcAxK+//mr7rFOnTiIyMlLk5+fbhmVlZYmgoKBbhrw5c+YImUwmEhIS7Nr9/PPPAoD4/fffbcMAiLCwMJGVlWX3u2UymZgzZ45t2Lx58+w2ljdjNptFZGSkaNu2rd18OXfunFAqlXYrq8KN1S+//GI3joSEBAFALFq0yK72/fv3lzrdb775RgAQn3/+ealtdu7cKQCI9957z274hQsXhFarFS+88IJtWK9evQQAsWvXLru2sbGx4s4773SotfgCX5pXX31VaLVaodPphBBCPP7442LQoEGiVatW4o033hBCCHHp0iUBQHz22We275UUGLy9vUv8Ayj845o0aZLd8HfffVcAEMnJyWWqtZDJZBI5OTnC29vb7o+/rNM5duyYACCmTZtm164wLN3qjzg+Pl4AENu2bRNCCLFs2TLh6+srJk2aZLeyaNSokXjooYcc6iu63A4ZMqTE4FW40mzZsqUwmUy24bt37xYAbP9RKFy+W7ZsKcxms61ddna2CA0NFV27drUNK2vIE6L0f8uSPPXUUyIgIOCmbX766acSN3LXr1+3BaSikpKShFqttpt/DRs2FA0bNrRbD5X2W95991274ZMmTRIajcZuHVCU2WwWRqNRfPPNN0Iul4tr164JIYTYs2ePACBWrVp1099X2vwqKeSV5XeU5PnnnxeSJDkE7jvvvLPEkAdAbNy48abjLFzvb926VQAQBw4cEEKUb70phOMGdcKECcLHx0ecP3/ert38+fMFANtvKOtyLoQQkydPdlhOi46z6H98KqK0ZUCIsq9/X3zxRSFJksO2YcCAAeUKeaWtm5YtW1bi90r7dxSifH83aWlp4ttvvxUqlUo888wzdusUIW69vmrYsKFdEC1JYV557LHHxB133GEbvm3bNgFAvPLKKzf9fmHIy8vLE8OHDxf+/v4iPj7eoV1pIe9W24cjR44IAOLFF1+0a1eYD8ob8pzShUq7du2gVCptj/fee8+hzfDhwx2GpaamYuLEiahbty4UCgWUSiXq168PALZDJbm5uUhISMD9998PjUZj+66vry/uvvvuW9a2du1atGjRAm3atIHJZLI97rzzzhIPY/Tp0we+vr6292FhYQgNDXU4NFdWJ06cwOXLl/HQQw/ZHZKqX78+unbt6lBrQEAA7r77brta27Rpg/DwcFutbdq0gUqlwpNPPomvv/7a4dAqAPzxxx/QaDQ3PWSwdu1aSJKERx55xG564eHhaN26tcO8CQ8PR8eOHe2GtWrVqsLzBgD69euH/Px82yHk+Ph4DBgwAP3798eGDRtswwCgf//+FZ4OANxzzz1271u1agUAt6w/JycHL774ImJiYqBQKKBQKODj44Pc3NwSD+ndajqbN28GADz88MN27UaOHAmF4tanyXbr1g0ajcY2XzZs2IDevXtj0KBB2LFjB/Ly8nDhwgWcOnXqtufZkCFDIJfLS/0thcv3mDFjIJPdWJ34+Phg+PDh+Oeff+xOIagMHTt2REZGBkaPHo1ff/21XFcG7ty5E/n5+Q6HQOrWrYu+ffti48aNAICTJ0/izJkzeOyxx+zWQ6UpaRnQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.semilogy(range(0, 100, 1), myGD_LS.objective[1:101], label='GD' )\n", "plt.semilogy(range(0, 100, 1), mySGD_LS_SG.objective[1:101], label='GD + Stochastic')\n", "plt.semilogy(range(0, 100, 1), myGD_LS_BT.objective[1:101], label='GD + BT')\n", "\n", "plt.xlabel('Number of epochs')\n", "plt.ylabel('Objective')\n", "plt.title('Gradient descent with and without stochastic gradients and backtracking')\n", "plt.legend()\n", "plt.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Repeat with FISTA and ISTA with TV regularisation " ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "69f64d414fb84c5093140684628ffc34", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/100 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "num_epochs=100\n", "alpha = 0.003 \n", "G = (alpha/ig2D.voxel_size_x) * FGP_TV(max_iteration = 100, device=\"gpu\") \n", "initial = ig2D.allocate(0)\n", "\n", "step_size_ista = 0.99*2.0/(full_objective.L)\n", "\n", "ista = ISTA(initial = initial, f=full_objective, step_size = step_size_ista, g=G, update_objective_interval = 1, \n", " max_iteration = num_epochs)\n", "ista.run(num_epochs, verbose=1)\n", "optimal = ista.solution\n", "show2D(ista.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1bf3a3392e94424caa6aa97f45108bc8", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/100 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "alpha = 0.003 \n", "G = (alpha/ig2D.voxel_size_x) * FGP_TV(max_iteration = 100, device=\"gpu\") \n", "initial = ig2D.allocate(0)\n", "F_FISTA = LeastSquares(A, b = data, c = 0.5)\n", "step_size_fista = 1./full_objective.L\n", "\n", "fista = FISTA(initial = initial, f=full_objective, step_size = step_size_fista, g=G, update_objective_interval = 1, \n", " max_iteration = num_epochs)\n", "fista.run(num_epochs, verbose=1)\n", "optimal = fista.solution\n", "show2D(fista.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6683ec6a177b42038c4b769395d85fc6", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/8000 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha = 0.003 \n", "G = (alpha/ig2D.voxel_size_x) * FGP_TV(max_iteration = 100, device=\"gpu\") \n", "initial = ig2D.allocate(0)\n", "\n", "step_size_ista_SG=0.99*2.0/(n_subsets*f_stochastic.L)\n", "\n", "ista_SG = ISTA(initial = initial, f=f_stochastic, step_size = step_size_ista_SG, g=G, update_objective_interval = n_subsets, \n", " max_iteration = num_epochs*n_subsets)\n", "ista_SG.run(num_epochs*n_subsets, verbose=1)\n", "optimalSG = ista_SG.solution\n", "show2D(ista_SG.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "876cd4bca6fd441b8bc9957bee11ca43", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/8000 [00:00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "alpha = 0.003 \n", "G = (alpha/ig2D.voxel_size_x) * FGP_TV(max_iteration = 100, device=\"gpu\") \n", "initial = ig2D.allocate(0) \n", "\n", "step_size_fista = 1./(n_subsets*f_stochastic.L)\n", "\n", "fista_SG = FISTA(initial = initial, f=f_stochastic, step_size = step_size_fista, g=G, update_objective_interval = n_subsets, \n", " max_iteration = num_epochs*n_subsets)\n", "fista_SG.run(num_epochs*n_subsets, verbose=1)\n", "optimal = fista_SG.solution\n", "show2D(fista_SG.solution, cmap=\"inferno\", origin=\"upper\")" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArUAAAHFCAYAAADsagEdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACzTUlEQVR4nOzdeVxU1fvA8c9lGHYEQVlUREQRccF9Lfc1Nc0lbTG1NEttsd36lea3vlaWWl9NrRBKzWxR0lxKcS2X3NAK91Q0F1zBjW3m/P7AmRhZHHRgwHner9e8lDv3nvvMwp2HM885R1NKKYQQQgghhCjDnOwdgBBCCCGEEHdKklohhBBCCFHmSVIrhBBCCCHKPElqhRBCCCFEmSdJrRBCCCGEKPMkqRVCCCGEEGWeJLVCCCGEEKLMk6RWCCGEEEKUeZLUCiGEEEKIMq9ISW1cXByapplvbm5uBAUF0b59eyZNmkRKSsptB5KUlMSECRM4evTobbdRnCZMmICmabd17Lp169A0jXXr1hXpuE8//ZS4uLg8248ePYqmafnedzs0TWPMmDEW244fP86oUaOIiIjA3d0dPz8/6tWrx4gRIzh+/Lg5BmtuuV/TF154AU3T6Nmzp01it5Xz588zbtw4oqKi8PT0xMfHh8jISAYPHsyePXvy7L9nzx6eeOIJwsPDcXd3x93dnZo1azJy5Ei2b99+y/OZ3hPff/+9xfatW7fywAMPULVqVVxdXQkMDKRly5a8+OKLQN7fwYJu1apVs2i3UaNGaJrGhx9+ePtPkgO5k993W9i0aRMTJkzg0qVLNm976NChed4f+WnXrh1169a12Hb16lXef/99oqOjKVeuHN7e3oSHh/Pggw+yfv16AKpVq2bVezT39WvJkiVomoa/vz8ZGRm2fLjF6tq1a0yYMKHI1/aiKuh6Udy+/vprpk2blu99mqYxYcKEEo2npNn6s7aoivP9ZW1eYvrMuflz7eeff6ZLly5UqlQJV1dXKlWqRLt27XjvvfeAf6+ht7q1a9fO3GZWVhZBQUF39F53vp2DYmNjiYyMJCsri5SUFH799Vfef/99PvzwQxYuXEinTp2K3GZSUhJvv/027dq1s+qCW9KGDx9Ot27dbuvYRo0asXnzZqKioop03KeffkqFChUYOnSoxfbg4GA2b95MeHj4bcVzKydOnKBRo0b4+vry4osvUqtWLVJTU0lKSuLbb7/l77//pkWLFmzevNniuFGjRpGamsr8+fPzxAs5b9h58+YBsHLlSv755x8qV65cLI+hKK5cuUKLFi24cuUKL7/8MtHR0Vy/fp0DBw6waNEiEhMTqV+/vnn/2bNnM2bMGGrVqsVzzz1HnTp10DSNvXv3smDBApo2bcqhQ4eK/PosW7aM+++/n3bt2vHBBx8QHBzMqVOn2L59O9988w0fffQRPXr0yPO8t2zZkv79+5sTXwBXV1fz/xMTE9m1axcAMTExvPTSS7fzNIkStGnTJt5++22GDh2Kr6+vvcMBwGAw0KVLF/744w9efvllmjVrBsDBgwdZunQpGzdupG3btixevNgiMf3iiy+IiYlh5cqV+Pj4mLfn/v2IiYkB4MKFC8THxzNw4MASelR35tq1a7z99tsAFh/Od4uvv/6aP//8k+effz7PfZs3b6ZKlSolH5QDKa3vr1mzZvH000/Tr18/pk+fjp+fH8ePH2fTpk18//33vPbaa3lyplOnTtG3b1+eeeYZHn74YfP2cuXKmf//008/cebMGSDnmtC/f/+iB6eKIDY2VgFq27Ztee47duyYCgkJUd7e3ur06dNFaVYppdR3332nALV27doiH1uYq1ev2rS9klSnTh3Vtm3bYj8PoEaPHm3++a233lKA+vvvv/Pd32Aw5Lu9bdu2qk6dOgWex/Qa9+jRQwHq3XffvbPAbWTOnDkKUGvWrMn3/tyP99dff1VOTk6qV69eKiMjI9/9v/32W/XPP/8Ues61a9cqQH333XfmbW3atFHh4eEqKyur0BhudvPrd7PRo0dbPO+//fZbobEJpcaPH6+KeHksVFGvQ5MnT1aAOnLkiM1iMBkyZIgKDQ295X43/z6vWbNGAWrOnDn57l/Qe9T0XJ49ezbf+0+dOqWcnZ1Vhw4dlJubm+rcufOtH0QpcfbsWQWo8ePHF+t58rtelIQePXpY9V65Wx05ckQBKjY21ibtZWZm5nt9L0hxvr9M76lb5Vz55X1Vq1ZVbdq0yXf/gq4Dpudy8uTJBZ6rR48eysXFRXXu3Fk5OTmp48eP3/qB3MRmNbVVq1blo48+4vLly8yePdvivu3bt3P//ffj5+eHm5sbDRs25NtvvzXfHxcXx4ABAwBo3759vl9PrV69mo4dO1KuXDk8PDxo3bo1CQkJFucxdXfv3LmT/v37U758eXNvQLVq1ejZsyc//fQTDRs2xN3dndq1a/PTTz+ZY6hduzaenp40a9YsT1d7fl9HmtpcuXIljRo1wt3dncjISObMmWOxX37d/H///TeDBg0yd90HBgbSsWNHEhMTzW3/9ddfrF+/Ps9XygV9JbJv3z4eeughAgMDcXV1pWrVqjz22GNF/jrv/PnzODk5ERAQkO/9Tk6397aJiYnBxcWF2NhYQkJCiI2NRSl1y+MaNmzIvffem2e7wWCgcuXK9O3b17xt5syZREdH4+Xlhbe3N5GRkbz++uuFtn/+/Hng3x7lm+V+vP/973/R6XTMnj0bFxeXfPcfMGAAlSpVuuXjyi+OChUq4Oyc9wuU233O09PT+frrr2ncuDFTp04FyPP+zM/Zs2dxcXHhzTffzHPfvn370DSNTz75BMjpTXjppZcICwvDzc0NPz8/mjRpwoIFC255jlGjRhEVFYWXlxcBAQF06NCBjRs35tk3IyODiRMnUrt2bdzc3PD396d9+/Zs2rTJvI/RaOR///sfDRo0wN3dHV9fX1q0aMGSJUss2lq4cCEtW7bE09MTLy8vunbtau7JvhVrjh06dCheXl788ccfdOnSBW9vbzp27AjAqlWr6N27N1WqVMHNzY0aNWowcuRIzp07Zz5+woQJvPzyywCEhYWZf/9zXz+sfQxxcXHUqlULV1dXateuzVdffWXV48xPUX5PiuLLL78kOzubsWPH0rdvXxISEjh27Ngtj3v++efx9PQkLS0tz30DBw4kMDCQrKwsANasWUO7du3w9/fH3d2dqlWr0q9fP65du1boOQo77ujRo1SsWBGAt99+2/w65f5m7ddff6Vjx454e3vj4eFBq1atWLZsWZ7z/PPPPzz55JOEhITg4uJCpUqV6N+/v7nXyiQrK4s33niDSpUqUa5cOTp16sT+/fst9rHmPQY5v3+mc7q6ulKxYkVat27N6tWrgZyewWXLlnHs2DGLr4tN8is/sPZx3GzGjBm0adOGgIAAPD09qVevHh988IH59ctt5cqVdOzYER8fHzw8PKhduzaTJk2y2Gfr1q306tULf39/3NzcCA8Pz9PbfPDgQR5++GECAgLMvx8zZswoNM6iHGv63J87dy4vvvgilStXxtXVlUOHDll17bPm/WXtY9i3bx/dunXDw8ODChUq8NRTT3H5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VEEef/xx3n//fR5++GHc3d3zTNA+YsQI3N3dad26NcHBwZw+fZpJkybh4+NT4F+AAHPnzmX27Nk8/PDDNG3aFB8fH06cOMEXX3zBX3/9xVtvvWW+aLRu3ZoZM2bwzDPP0KhRI5588knq1Klj7pUx/cV581fP1ujatStVqlShV69eREZGYjQaSUxM5KOPPsLLy8tcBmGNmJgYnJ2def311/O9wIwcOZJnn32WZcuW0bt370Lbevzxxxk5ciQnT56kVatWeT6wmjdvTs+ePalfvz7ly5dn7969zJ07l5YtWxaY0AL07NmT//znP4wfP562bduyf/9+Jk6cSFhYGNnZ2eb9HnroIWJjY3nqqafYv38/7du3x2g0snXrVmrXrs2gQYO49957GTx4MO+88w5nzpyhZ8+euLq6smvXLjw8PHjmmWeoVq0aEydO5I033uDvv/+mW7dulC9fnjNnzvD777+be5zzcyfHmkRGRhIeHs5rr72GUgo/Pz+WLl2ab3mM6ff8448/ZsiQIej1emrVqmV1HE5OTvznP/9h+PDhPPDAA4wYMYJLly4xYcKE2/7ace3atTz33HM88sgjtGrVCn9/f1JSUliwYAErV67kscces/rr5z///JPff/+dp59+mg4dOuS5v3Xr1nz00UfExMTcMqnt0qULVapUYdSoUZw+fTrPH12zZs1izZo19OjRg6pVq5Kenm7+erSwhYKsOc7b25vQ0FB+/PFHOnbsiJ+fHxUqVKBatWpMmjSJzp070759e1566SVcXFz49NNP+fPPP1mwYIE5KZs4cSIrVqygTZs2vP7669SrV49Lly6xcuVKXnjhBSIjI616TsH691hqairt27fn4YcfJjIyEm9vb7Zt28bKlSstvtmpV68eixYtYubMmTRu3BgnJyeaNGmS77lv93F07twZFxcXHnroIV555RXS09OZOXMmFy9etNjPy8uLjz76iOHDh9OpUydGjBhBYGAghw4dYvfu3UyfPh3ImR6sV69etGjRgrFjx1K1alWSk5P5+eefzQsDffzxx9xzzz3ce++9PP3001SrVo3Lly9z6NAhli5dypo1awp8ju/kWBNrr32Fvb+sjeP5559nzpw59OjRg3feeYfAwEDmz59/y/KzwtSpU4eOHTvSvXt3wsPDSU9PZ+vWrXz00UcEBgbyxBNPWN1WTEwM5cuX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7rnnGD16ND6fj29+85usWrUqbz1PPvkkI0aMwOv1MmjQIO6+++68+alUimuvvZYBAwbg9XoZMmQIv/vd7/LKrFixgnHjxhEIBBg/fjxr167NzXvvvfc46aSTCIfDRCIRxo4dy9tvv93lPgkhRE+ToFYIsV8ZhsHtt9/OfffdxxdffLFX63r55ZfZsmULr776Kvfccw8333wzZ5xxBqWlpfzrX//i0ksv5dJLL2XTpk15y82aNYuZM2fy7rvvMn78eM4880zq6uoAqK2tZeLEiYwZM4a3336bRYsWsW3bNs4999y8dTz22GO4XC5ef/11fvOb33RZv1//+tfcfffd3HXXXbz//vtMnjyZM888k3Xr1uW2NWLECGbOnEltbS3XXHNNl+u58cYbeeSRR3jggQf48MMPufrqq7ngggtYunRpp/266667WL58OX379uXMM88kk8kATjB67rnnct5557Fq1SpuvvlmbrrpJh599NHc8hdeeCELFy7k3nvvZc2aNTz44IOEQqG8bdxwww3cfffdvP3227hcLi6++OLcvClTplBTU8Py5ctZsWIF1113HW63e3cvnxBC9CwlhBD7ydSpU9X3v/99pZRS3/rWt9TFF1+slFLq6aefVh3fjmbPnq1Gjx6dt+yvfvUrNXDgwLx1DRw4UFmWlcs78sgj1fHHH5+bNk1TBYNB9ec//1kppdTnn3+uADV37txcmUwmo2pqatS8efOUUkrddNNNatKkSXnb3rRpkwLU2rVrlVJKTZw4UY0ZM+Yr97e6ulrddttteXnHHnusuuyyy3LTo0ePVrNnz97tOlpaWpTP51NvvPFGXv5PfvITdf755yullFqyZIkC1MKFC3Pz6+rqlN/vV48//rhSSqkf/ehH6pRTTslbx6xZs9Tw4cOVUkqtXbtWAWrx4sVd1qNtGy+++GIu77nnnlOASiQSSimlwuGwevTRR3e7L0IIsS9JT60QoiDmzZvHY489xurVq/d4HSNGjEDX29/GKisrGTVqVG7aMAzKy8vZvn173nLf/va3c+Mul4tx48axZs0awOnRXLJkCaFQKJeGDh0KOPe/thk3btyX1i0Wi7FlyxaOO+64vPzjjjsut63uWL16NclkklNOOSWvTr///e/z6rPrfpWVlXHkkUfmtrVmzZou67Ju3Tosy2LlypUYhsHEiRO/tD5HHXVUbrxfv34AufadMWMG//Vf/8XJJ5/M3LlzO9VPCCH2JVehKyCEODidcMIJTJ48meuvv56LLroob56u6yil8vLavkbvaNevtjVN6zLPtu2vrE/b0xds2+Z73/se8+bN61SmLYgDCAaDX7nOjutto5T6Wk96aKv7c889R//+/fPmeb3ebm+/q+12bGO/39+t+nRs345tBs690D/60Y947rnneP7555k9ezYLFy7k7LPP7ta6hRBib0hPrRCiYObOncuzzz7LG2+8kZffp08ftm7dmhd09eSzZd98883cuGmarFixItcbe8wxx/Dhhx8yaNAgDj/88LzU3UAWIBKJUF1dzbJly/Ly33jjDYYNG9bt9QwfPhyv18vGjRs71WfAgAG73a+GhgY+/vjj3H4NHz68y7occcQRGIbBqFGjsG270326X9cRRxzB1VdfzQsvvMAPfvADHnnkkb1anxBCdJf01AohCmbUqFFMmTKF++67Ly//xBNPZMeOHdxxxx2cc845LFq0iOeff55IJNIj212wYAFDhgxh2LBh/OpXv6KhoSH3g6fLL7+chx56iPPPP59Zs2ZRUVHBJ598wsKFC3nooYcwDKPb25k1axazZ8/msMMOY8yYMTzyyCOsXLmSP/7xj91eRzgc5pprruHqq6/Gtm0mTJhALBbjjTfeIBQKMXXq1FzZW265hfLyciorK7nhhhuoqKjgrLPOAmDmzJkce+yx3HrrrfzHf/wH//znP5k/fz73338/AIMGDWLq1KlcfPHF3HvvvYwePZoNGzawffv2Tj+S60oikWDWrFmcc845DB48mC+++ILly5fz7//+793eVyGE2BvSUyuEKKhbb721060Gw4YN4/7772fBggWMHj2at956a7dPBtgTc+fOZd68eYwePZrXXnuNv/3tb1RUVABQXV3N66+/jmVZTJ48mZEjRzJt2jSi0Wje/bvdcdVVVzFz5kxmzpzJqFGjWLRoEc888wxDhgz5Wuu59dZb+fnPf86cOXMYNmwYkydP5tlnn2Xw4MGd9mvatGmMHTuW2tpannnmGTweD+D0QP/lL39h4cKFjBw5kp///Ofccsstebd+PPDAA5xzzjlcdtllDB06lEsuuYTW1tZu1dEwDOrq6rjwwgs54ogjOPfcczn11FP5xS9+8bX2VQgh9pSmdr2aCCGEKCqvvPIKJ510Eg0NDZSUlBS6OkIIURDSUyuEEEIIIYqeBLVCCCGEEKLoye0HQgghhBCi6ElPrRBCCCGEKHoS1AohhBBCiKInQa0QQgghhCh6EtQKIYQQQoiiJ0GtEEIIIYQoehLUCiGEEEKIoidBrRBCCCGEKHoS1AohhBBCiKInQa0QQgghhCh6/x9YSTb1fu3qSgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.semilogy(range(0, num_epochs+1,1), ista.objective, label='Deterministic ISTA' )\n", "plt.semilogy(range(0, num_epochs+1,1), ista_SG.objective, label='Stochastic ISTA')\n", "plt.semilogy(range(0, num_epochs+1,1), fista.objective, label='Deterministic FISTA')\n", "plt.semilogy(range(0, num_epochs+1,1), fista_SG.objective, label='Stochastic FISTA')\n", "plt.xlabel('Number of epochs')\n", "plt.ylabel('Objective')\n", "plt.title('Deterministic ISTA vs SG ISTA vs accelerated ISTA vs stochastic accelerated ISTA')\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "interpreter": { "hash": "43cbf82c2f716cd564b762322e13d4dbd881fd8a341d231fe608abc3118da208" }, "kernelspec": { "display_name": "Python 3.9.13 ('cil_22.0.0')", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 4 }