Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

#286 Sg/yolox readme

Merged
GitHub User merged 1 commits into Deci-AI:master from deci-ai:SG/yolox_readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
  1. <!DOCTYPE html>
  2. <html class="writer-html5" lang="en" >
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>super_gradients.training.losses.focal_loss &mdash; SuperGradients 1.0 documentation</title>
  7. <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
  8. <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />
  9. <link rel="stylesheet" href="../../../../_static/graphviz.css" type="text/css" />
  10. <!--[if lt IE 9]>
  11. <script src="../../../../_static/js/html5shiv.min.js"></script>
  12. <![endif]-->
  13. <script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
  14. <script src="../../../../_static/jquery.js"></script>
  15. <script src="../../../../_static/underscore.js"></script>
  16. <script src="../../../../_static/doctools.js"></script>
  17. <script src="../../../../_static/js/theme.js"></script>
  18. <link rel="index" title="Index" href="../../../../genindex.html" />
  19. <link rel="search" title="Search" href="../../../../search.html" />
  20. </head>
  21. <body class="wy-body-for-nav">
  22. <div class="wy-grid-for-nav">
  23. <nav data-toggle="wy-nav-shift" class="wy-nav-side">
  24. <div class="wy-side-scroll">
  25. <div class="wy-side-nav-search" >
  26. <a href="../../../../index.html" class="icon icon-home"> SuperGradients
  27. </a>
  28. <div role="search">
  29. <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
  30. <input type="text" name="q" placeholder="Search docs" />
  31. <input type="hidden" name="check_keywords" value="yes" />
  32. <input type="hidden" name="area" value="default" />
  33. </form>
  34. </div>
  35. </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
  36. <p class="caption"><span class="caption-text">SuperGradients</span></p>
  37. <ul>
  38. <li class="toctree-l1"><a class="reference internal" href="../../../../welcome.html">SuperGradients</a></li>
  39. <li class="toctree-l1"><a class="reference internal" href="../../../../super_gradients.common.html">Common</a></li>
  40. <li class="toctree-l1"><a class="reference internal" href="../../../../super_gradients.training.html">Training</a></li>
  41. </ul>
  42. </div>
  43. </div>
  44. </nav>
  45. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
  46. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  47. <a href="../../../../index.html">SuperGradients</a>
  48. </nav>
  49. <div class="wy-nav-content">
  50. <div class="rst-content">
  51. <div role="navigation" aria-label="Page navigation">
  52. <ul class="wy-breadcrumbs">
  53. <li><a href="../../../../index.html" class="icon icon-home"></a> &raquo;</li>
  54. <li><a href="../../../index.html">Module code</a> &raquo;</li>
  55. <li>super_gradients.training.losses.focal_loss</li>
  56. <li class="wy-breadcrumbs-aside">
  57. </li>
  58. </ul>
  59. <hr/>
  60. </div>
  61. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  62. <div itemprop="articleBody">
  63. <h1>Source code for super_gradients.training.losses.focal_loss</h1><div class="highlight"><pre>
  64. <span></span><span class="kn">import</span> <span class="nn">torch</span>
  65. <span class="kn">from</span> <span class="nn">torch</span> <span class="kn">import</span> <span class="n">nn</span>
  66. <span class="kn">from</span> <span class="nn">torch.nn.modules.loss</span> <span class="kn">import</span> <span class="n">_Loss</span>
  67. <div class="viewcode-block" id="FocalLoss"><a class="viewcode-back" href="../../../../super_gradients.training.losses.html#super_gradients.training.losses.focal_loss.FocalLoss">[docs]</a><span class="k">class</span> <span class="nc">FocalLoss</span><span class="p">(</span><span class="n">_Loss</span><span class="p">):</span>
  68. <span class="sd">&quot;&quot;&quot;Wraps focal loss around existing loss_fcn(), i.e. criteria = FocalLoss(nn.BCEWithLogitsLoss(), gamma=1.5)&quot;&quot;&quot;</span>
  69. <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">loss_fcn</span><span class="p">:</span> <span class="n">nn</span><span class="o">.</span><span class="n">BCEWithLogitsLoss</span><span class="p">,</span> <span class="n">gamma</span><span class="o">=</span><span class="mf">1.5</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.25</span><span class="p">):</span>
  70. <span class="nb">super</span><span class="p">(</span><span class="n">FocalLoss</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span>
  71. <span class="bp">self</span><span class="o">.</span><span class="n">loss_fcn</span> <span class="o">=</span> <span class="n">loss_fcn</span> <span class="c1"># must be nn.BCEWithLogitsLoss()</span>
  72. <span class="bp">self</span><span class="o">.</span><span class="n">gamma</span> <span class="o">=</span> <span class="n">gamma</span>
  73. <span class="bp">self</span><span class="o">.</span><span class="n">alpha</span> <span class="o">=</span> <span class="n">alpha</span>
  74. <span class="bp">self</span><span class="o">.</span><span class="n">reduction</span> <span class="o">=</span> <span class="n">loss_fcn</span><span class="o">.</span><span class="n">reduction</span>
  75. <span class="bp">self</span><span class="o">.</span><span class="n">loss_fcn</span><span class="o">.</span><span class="n">reduction</span> <span class="o">=</span> <span class="s1">&#39;none&#39;</span> <span class="c1"># required to apply FocalLoss to each element</span>
  76. <div class="viewcode-block" id="FocalLoss.forward"><a class="viewcode-back" href="../../../../super_gradients.training.losses.html#super_gradients.training.losses.focal_loss.FocalLoss.forward">[docs]</a> <span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pred</span><span class="p">,</span> <span class="n">true</span><span class="p">):</span>
  77. <span class="n">loss</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">loss_fcn</span><span class="p">(</span><span class="n">pred</span><span class="p">,</span> <span class="n">true</span><span class="p">)</span>
  78. <span class="n">pred_prob</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">sigmoid</span><span class="p">(</span><span class="n">pred</span><span class="p">)</span> <span class="c1"># prob from logits</span>
  79. <span class="n">p_t</span> <span class="o">=</span> <span class="n">true</span> <span class="o">*</span> <span class="n">pred_prob</span> <span class="o">+</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">true</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">pred_prob</span><span class="p">)</span>
  80. <span class="n">alpha_factor</span> <span class="o">=</span> <span class="n">true</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">alpha</span> <span class="o">+</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">true</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">alpha</span><span class="p">)</span>
  81. <span class="n">modulating_factor</span> <span class="o">=</span> <span class="p">(</span><span class="mf">1.0</span> <span class="o">-</span> <span class="n">p_t</span><span class="p">)</span> <span class="o">**</span> <span class="bp">self</span><span class="o">.</span><span class="n">gamma</span>
  82. <span class="n">loss</span> <span class="o">*=</span> <span class="n">alpha_factor</span> <span class="o">*</span> <span class="n">modulating_factor</span>
  83. <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">reduction</span> <span class="o">==</span> <span class="s1">&#39;mean&#39;</span><span class="p">:</span>
  84. <span class="k">return</span> <span class="n">loss</span><span class="o">.</span><span class="n">mean</span><span class="p">()</span>
  85. <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">reduction</span> <span class="o">==</span> <span class="s1">&#39;sum&#39;</span><span class="p">:</span>
  86. <span class="k">return</span> <span class="n">loss</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>
  87. <span class="k">else</span><span class="p">:</span> <span class="c1"># &#39;none&#39;</span>
  88. <span class="k">return</span> <span class="n">loss</span></div></div>
  89. </pre></div>
  90. </div>
  91. </div>
  92. <footer>
  93. <hr/>
  94. <div role="contentinfo">
  95. <p>&#169; Copyright 2021, SuperGradients team.</p>
  96. </div>
  97. Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
  98. <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
  99. provided by <a href="https://readthedocs.org">Read the Docs</a>.
  100. </footer>
  101. </div>
  102. </div>
  103. </section>
  104. </div>
  105. <script>
  106. jQuery(function () {
  107. SphinxRtdTheme.Navigation.enable(true);
  108. });
  109. </script>
  110. </body>
  111. </html>
Discard
Tip!

Press p or to see the previous file or, n or to see the next file