test_foveation.ipynb 53.3 KB
Newer Older
1
2
3
4
{
 "cells": [
  {
   "cell_type": "code",
Nianchen Deng's avatar
sync    
Nianchen Deng committed
5
   "execution_count": 5,
6
7
8
9
10
11
12
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Set CUDA:0 as current device.\n",
Nianchen Deng's avatar
sync    
Nianchen Deng committed
13
14
15
      "Layer 0: 14106(21.52%) pixels are masked as skipped, 51430 pixels need to be inferred\n",
      "Layer 1: 15586(23.78%) pixels are masked as skipped, 49950 pixels need to be inferred\n",
      "Layer 2: 700(1.19%) pixels are masked as skipped, 58180 pixels need to be inferred\n"
16
17
18
19
     ]
    },
    {
     "data": {
Nianchen Deng's avatar
sync    
Nianchen Deng committed
20
21
      "image/png": "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\n",
      "text/plain": "<Figure size 864x288 with 3 Axes>"
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import sys\n",
    "import os\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "rootdir = os.path.abspath(sys.path[0] + '/../')\n",
    "sys.path.append(rootdir)\n",
    "torch.cuda.set_device(0)\n",
    "print(\"Set CUDA:%d as current device.\" % torch.cuda.current_device())\n",
    "torch.autograd.set_grad_enabled(False)\n",
    "\n",
    "from utils import img\n",
    "from utils import device\n",
    "from utils.view import *\n",
    "from components.foveation import Foveation\n",
    "\n",
    "\n",
    "foveation = Foveation([20, 45, 110], [(256, 256), (256, 256), (256, 230)], (1600, 1440))\n",
Nianchen Deng's avatar
sync    
Nianchen Deng committed
49
50
    "layers_mask = foveation.get_layers_mask((0, 0))\n",
    "plt.figure(figsize=(12, 4))\n",
51
52
    "for i, mask in enumerate(layers_mask):\n",
    "    colored_mask = torch.zeros(mask.size(0), mask.size(1), 3, device=mask.device)\n",
Nianchen Deng's avatar
sync    
Nianchen Deng committed
53
    "    c = torch.tensor([[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 1]], device=mask.device)\n",
54
55
    "    for bi in range(3):\n",
    "        region = torch.logical_and(mask > bi, mask < bi + 1)\n",
Nianchen Deng's avatar
sync    
Nianchen Deng committed
56
    "        colored_mask[region] = c[bi] + (c[-1] - c[bi]) * (mask[region][..., None] - bi)\n",
57
58
59
60
    "    plt.subplot(1, len(layers_mask), i + 1)\n",
    "    img.plot(colored_mask)\n",
    "    n_skipped = torch.sum(mask < 0)\n",
    "    n_tot = len(mask.flatten())\n",
Nianchen Deng's avatar
sync    
Nianchen Deng committed
61
    "    print (f\"Layer {i}: {n_skipped}({n_skipped / n_tot * 100:.2f}%) pixels are masked as skipped, {n_tot - n_skipped} pixels need to be inferred\")"
62
   ]
Nianchen Deng's avatar
sync    
Nianchen Deng committed
63
64
65
66
67
68
69
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.8.5 64-bit ('base': conda)",
   "name": "python385jvsc74a57bd082066b63b621a9e3d15e3b7c11ca76da6238eff3834294910d715044bd0561e5"
  },
  "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.8.5"
  },
  "metadata": {
   "interpreter": {
    "hash": "82066b63b621a9e3d15e3b7c11ca76da6238eff3834294910d715044bd0561e5"
   }
  },
  "orig_nbformat": 2
 },
 "nbformat": 4,
 "nbformat_minor": 2
}