This commit is contained in:
Morten Hjorth-Jensen
2023-08-31 06:19:44 +02:00
parent e9bac09427
commit d05f791ff6
98 changed files with 3861 additions and 2496 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because it is too large Load Diff
+33 -6
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -957,13 +984,13 @@ example of the functionality of <strong>Scikit-Learn</strong>.</p>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>The intercept alpha:
[1.72261919]
[2.11366595]
Coefficient beta :
[[5.39493843]]
Mean squared error: 0.23
Variance score: 0.91
[[4.95136998]]
Mean squared error: 0.28
Variance score: 0.89
Mean squared log error: 0.01
Mean absolute error: 0.39
Mean absolute error: 0.41
</pre></div>
</div>
<img alt="_images/chapter1_19_1.png" src="_images/chapter1_19_1.png" />
@@ -1063,7 +1090,7 @@ a linear <span class="math notranslate nohighlight">\(x\)</span>-dependence we s
</div>
<div class="cell_output docutils container">
<img alt="_images/chapter1_33_0.png" src="_images/chapter1_33_0.png" />
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.0050000000000000044
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.004999999999999996
</pre></div>
</div>
</div>
+112 -84
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -1274,7 +1301,7 @@ the <em>Hadamard product</em>, meaning element-wise multiplication.</p>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Old accuracy on training data: 0.1440501043841336
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1608,7 +1635,7 @@ Lambda = 10.0
Accuracy score on test set: 0.19166666666666668
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1617,7 +1644,7 @@ Lambda = 1e-05
Accuracy score on test set: 0.10555555555555556
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1626,7 +1653,7 @@ Lambda = 0.0001
Accuracy score on test set: 0.08611111111111111
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1635,7 +1662,7 @@ Lambda = 0.001
Accuracy score on test set: 0.10555555555555556
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1644,7 +1671,7 @@ Lambda = 0.01
Accuracy score on test set: 0.08888888888888889
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1653,7 +1680,7 @@ Lambda = 0.1
Accuracy score on test set: 0.08611111111111111
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1662,7 +1689,7 @@ Lambda = 1.0
Accuracy score on test set: 0.08888888888888889
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1671,11 +1698,11 @@ Lambda = 10.0
Accuracy score on test set: 0.09166666666666666
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1684,11 +1711,11 @@ Lambda = 1e-05
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1697,11 +1724,11 @@ Lambda = 0.0001
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1710,11 +1737,11 @@ Lambda = 0.001
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1723,11 +1750,11 @@ Lambda = 0.01
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1736,7 +1763,7 @@ Lambda = 0.1
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -1745,11 +1772,11 @@ Lambda = 1.0
Accuracy score on test set: 0.10555555555555556
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1758,11 +1785,11 @@ Lambda = 10.0
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1771,11 +1798,11 @@ Lambda = 1e-05
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1784,11 +1811,11 @@ Lambda = 0.0001
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1797,11 +1824,11 @@ Lambda = 0.001
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1810,11 +1837,11 @@ Lambda = 0.01
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1823,11 +1850,11 @@ Lambda = 0.1
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1836,11 +1863,11 @@ Lambda = 1.0
Accuracy score on test set: 0.07777777777777778
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp
exp_term = np.exp(self.z_o)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide
self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)
</pre></div>
</div>
@@ -1893,15 +1920,15 @@ Accuracy score on test set: 0.07777777777777778
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp
return 1/(1 + np.exp(-x))
</pre></div>
</div>
@@ -2160,26 +2187,27 @@ Accuracy score on test set: 0.9861111111111112
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 0.01
Lambda = 0.1
Accuracy score on test set: 0.9888888888888889
Learning rate = 0.01
Lambda = 1.0
Accuracy score on test set: 0.9722222222222222
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 0.01
Lambda = 1.0
Accuracy score on test set: 0.9722222222222222
Learning rate = 0.01
Lambda = 10.0
Accuracy score on test set: 0.9527777777777777
Learning rate = 0.1
Lambda = 1e-05
Accuracy score on test set: 0.9027777777777778
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 0.1
Lambda = 0.0001
Accuracy score on test set: 0.8583333333333333
Lambda = 1e-05
Accuracy score on test set: 0.9027777777777778
Learning rate = 0.1
Lambda = 0.0001
Accuracy score on test set: 0.8583333333333333
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 0.1
Lambda = 0.001
Accuracy score on test set: 0.8722222222222222
</pre></div>
@@ -2200,43 +2228,44 @@ Accuracy score on test set: 0.8722222222222222
Learning rate = 0.1
Lambda = 10.0
Accuracy score on test set: 0.8666666666666667
Learning rate = 1.0
Lambda = 1e-05
Accuracy score on test set: 0.08611111111111111
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 1.0
Lambda = 1e-05
Accuracy score on test set: 0.08611111111111111
Learning rate = 1.0
Lambda = 0.0001
Accuracy score on test set: 0.10555555555555556
Learning rate = 1.0
Lambda = 0.001
Accuracy score on test set: 0.10555555555555556
Learning rate = 1.0
Lambda = 0.01
Accuracy score on test set: 0.17777777777777778
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 1.0
Lambda = 0.01
Accuracy score on test set: 0.17777777777777778
Learning rate = 1.0
Lambda = 0.1
Accuracy score on test set: 0.08333333333333333
Learning rate = 1.0
Lambda = 1.0
Accuracy score on test set: 0.08888888888888889
Learning rate = 1.0
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 1.0
Lambda = 10.0
Accuracy score on test set: 0.09444444444444444
Learning rate = 10.0
Lambda = 1e-05
Accuracy score on test set: 0.17222222222222222
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 10.0
Lambda = 1e-05
Accuracy score on test set: 0.17222222222222222
Learning rate = 10.0
Lambda = 0.0001
Accuracy score on test set: 0.11666666666666667
@@ -2247,18 +2276,17 @@ Accuracy score on test set: 0.10555555555555556
Learning rate = 10.0
Lambda = 0.01
Accuracy score on test set: 0.1388888888888889
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 10.0
Lambda = 0.1
Accuracy score on test set: 0.11388888888888889
Learning rate = 10.0
Lambda = 1.0
Accuracy score on test set: 0.10555555555555556
Lambda = 0.1
Accuracy score on test set: 0.11388888888888889
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Learning rate = 10.0
Lambda = 1.0
Accuracy score on test set: 0.10555555555555556
Learning rate = 10.0
Lambda = 10.0
Accuracy score on test set: 0.09444444444444444
</pre></div>
+102 -12
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -2583,6 +2610,43 @@ Using TensorFlow results in a much better execution time. Try it!</p>
<span class="g g-Whitespace"> </span><span class="mi">19</span> <span class="n">x</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">argnum</span><span class="p">)</span>
<span class="ne">---&gt; </span><span class="mi">20</span> <span class="k">return</span> <span class="n">unary_operator</span><span class="p">(</span><span class="n">unary_f</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="o">*</span><span class="n">nary_op_args</span><span class="p">,</span> <span class="o">**</span><span class="n">nary_op_kwargs</span><span class="p">)</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/differential_operators.py:57,</span> in <span class="ni">jacobian</span><span class="nt">(fun, x)</span>
<span class="g g-Whitespace"> </span><span class="mi">47</span> <span class="nd">@unary_to_nary</span>
<span class="g g-Whitespace"> </span><span class="mi">48</span> <span class="k">def</span> <span class="nf">jacobian</span><span class="p">(</span><span class="n">fun</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
<span class="g g-Whitespace"> </span><span class="mi">49</span> <span class="sd">&quot;&quot;&quot;</span>
<span class="g g-Whitespace"> </span><span class="mi">50</span><span class="sd"> Returns a function which computes the Jacobian of `fun` with respect to</span>
<span class="g g-Whitespace"> </span><span class="mi">51</span><span class="sd"> positional argument number `argnum`, which must be a scalar or array. Unlike</span>
<span class="sd"> (...)</span>
<span class="g g-Whitespace"> </span><span class="mi">55</span><span class="sd"> (out1, out2, ...) then the Jacobian has shape (out1, out2, ..., in1, in2, ...).</span>
<span class="g g-Whitespace"> </span><span class="mi">56</span><span class="sd"> &quot;&quot;&quot;</span>
<span class="ne">---&gt; </span><span class="mi">57</span> <span class="n">vjp</span><span class="p">,</span> <span class="n">ans</span> <span class="o">=</span> <span class="n">_make_vjp</span><span class="p">(</span><span class="n">fun</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">58</span> <span class="n">ans_vspace</span> <span class="o">=</span> <span class="n">vspace</span><span class="p">(</span><span class="n">ans</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">59</span> <span class="n">jacobian_shape</span> <span class="o">=</span> <span class="n">ans_vspace</span><span class="o">.</span><span class="n">shape</span> <span class="o">+</span> <span class="n">vspace</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">shape</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:10,</span> in <span class="ni">make_vjp</span><span class="nt">(fun, x)</span>
<span class="g g-Whitespace"> </span><span class="mi">8</span> <span class="k">def</span> <span class="nf">make_vjp</span><span class="p">(</span><span class="n">fun</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span>
<span class="g g-Whitespace"> </span><span class="mi">9</span> <span class="n">start_node</span> <span class="o">=</span> <span class="n">VJPNode</span><span class="o">.</span><span class="n">new_root</span><span class="p">()</span>
<span class="ne">---&gt; </span><span class="mi">10</span> <span class="n">end_value</span><span class="p">,</span> <span class="n">end_node</span> <span class="o">=</span> <span class="n">trace</span><span class="p">(</span><span class="n">start_node</span><span class="p">,</span> <span class="n">fun</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">11</span> <span class="k">if</span> <span class="n">end_node</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">12</span> <span class="k">def</span> <span class="nf">vjp</span><span class="p">(</span><span class="n">g</span><span class="p">):</span> <span class="k">return</span> <span class="n">vspace</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">zeros</span><span class="p">()</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:10,</span> in <span class="ni">trace</span><span class="nt">(start_node, fun, x)</span>
<span class="g g-Whitespace"> </span><span class="mi">8</span> <span class="k">with</span> <span class="n">trace_stack</span><span class="o">.</span><span class="n">new_trace</span><span class="p">()</span> <span class="k">as</span> <span class="n">t</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">9</span> <span class="n">start_box</span> <span class="o">=</span> <span class="n">new_box</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="n">start_node</span><span class="p">)</span>
<span class="ne">---&gt; </span><span class="mi">10</span> <span class="n">end_box</span> <span class="o">=</span> <span class="n">fun</span><span class="p">(</span><span class="n">start_box</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">11</span> <span class="k">if</span> <span class="n">isbox</span><span class="p">(</span><span class="n">end_box</span><span class="p">)</span> <span class="ow">and</span> <span class="n">end_box</span><span class="o">.</span><span class="n">_trace</span> <span class="o">==</span> <span class="n">start_box</span><span class="o">.</span><span class="n">_trace</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">12</span> <span class="k">return</span> <span class="n">end_box</span><span class="o">.</span><span class="n">_value</span><span class="p">,</span> <span class="n">end_box</span><span class="o">.</span><span class="n">_node</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:15,</span> in <span class="ni">unary_to_nary.&lt;locals&gt;.nary_operator.&lt;locals&gt;.nary_f.&lt;locals&gt;.unary_f</span><span class="nt">(x)</span>
<span class="g g-Whitespace"> </span><span class="mi">13</span> <span class="k">else</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">14</span> <span class="n">subargs</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="nb">zip</span><span class="p">(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
<span class="ne">---&gt; </span><span class="mi">15</span> <span class="k">return</span> <span class="n">fun</span><span class="p">(</span><span class="o">*</span><span class="n">subargs</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:20,</span> in <span class="ni">unary_to_nary.&lt;locals&gt;.nary_operator.&lt;locals&gt;.nary_f</span><span class="nt">(*args, **kwargs)</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="k">else</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">19</span> <span class="n">x</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">argnum</span><span class="p">)</span>
<span class="ne">---&gt; </span><span class="mi">20</span> <span class="k">return</span> <span class="n">unary_operator</span><span class="p">(</span><span class="n">unary_f</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="o">*</span><span class="n">nary_op_args</span><span class="p">,</span> <span class="o">**</span><span class="n">nary_op_kwargs</span><span class="p">)</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/differential_operators.py:61,</span> in <span class="ni">jacobian</span><span class="nt">(fun, x)</span>
<span class="g g-Whitespace"> </span><span class="mi">59</span> <span class="n">jacobian_shape</span> <span class="o">=</span> <span class="n">ans_vspace</span><span class="o">.</span><span class="n">shape</span> <span class="o">+</span> <span class="n">vspace</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">.</span><span class="n">shape</span>
<span class="g g-Whitespace"> </span><span class="mi">60</span> <span class="n">grads</span> <span class="o">=</span> <span class="nb">map</span><span class="p">(</span><span class="n">vjp</span><span class="p">,</span> <span class="n">ans_vspace</span><span class="o">.</span><span class="n">standard_basis</span><span class="p">())</span>
@@ -2631,19 +2695,45 @@ Using TensorFlow results in a much better execution time. Try it!</p>
<span class="g g-Whitespace"> </span><span class="mi">83</span> <span class="n">defvjp</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">cos</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span> <span class="p">:</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="o">-</span> <span class="n">g</span> <span class="o">*</span> <span class="n">anp</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
<span class="g g-Whitespace"> </span><span class="mi">84</span> <span class="n">defvjp</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">tan</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span> <span class="p">:</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">g</span> <span class="o">/</span> <span class="n">anp</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">**</span><span class="mi">2</span><span class="p">)</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:37,</span> in <span class="ni">primitive.&lt;locals&gt;.f_wrapped</span><span class="nt">(*args, **kwargs)</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="nd">@wraps</span><span class="p">(</span><span class="n">f_raw</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">36</span> <span class="k">def</span> <span class="nf">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="ne">---&gt; </span><span class="mi">37</span> <span class="n">boxed_args</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node_constructor</span> <span class="o">=</span> <span class="n">find_top_boxed_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">38</span> <span class="k">if</span> <span class="n">boxed_args</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">39</span> <span class="n">argvals</span> <span class="o">=</span> <span class="n">subvals</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">[(</span><span class="n">argnum</span><span class="p">,</span> <span class="n">box</span><span class="o">.</span><span class="n">_value</span><span class="p">)</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">box</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">])</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_boxes.py:27,</span> in <span class="ni">ArrayBox.__mul__</span><span class="nt">(self, other)</span>
<span class="ne">---&gt; </span><span class="mi">27</span> <span class="k">def</span> <span class="fm">__mul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> <span class="k">return</span> <span class="n">anp</span><span class="o">.</span><span class="n">multiply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:70,</span> in <span class="ni">find_top_boxed_args</span><span class="nt">(args)</span>
<span class="g g-Whitespace"> </span><span class="mi">68</span> <span class="n">top_node_type</span> <span class="o">=</span> <span class="kc">None</span>
<span class="g g-Whitespace"> </span><span class="mi">69</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">arg</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">args</span><span class="p">):</span>
<span class="ne">---&gt; </span><span class="mi">70</span> <span class="k">if</span> <span class="n">isbox</span><span class="p">(</span><span class="n">arg</span><span class="p">):</span>
<span class="g g-Whitespace"> </span><span class="mi">71</span> <span class="n">trace</span> <span class="o">=</span> <span class="n">arg</span><span class="o">.</span><span class="n">_trace</span>
<span class="g g-Whitespace"> </span><span class="mi">72</span> <span class="k">if</span> <span class="n">trace</span> <span class="o">&gt;</span> <span class="n">top_trace</span><span class="p">:</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:45,</span> in <span class="ni">primitive.&lt;locals&gt;.f_wrapped</span><span class="nt">(*args, **kwargs)</span>
<span class="g g-Whitespace"> </span><span class="mi">43</span> <span class="n">argnums</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">argnum</span> <span class="k">for</span> <span class="n">argnum</span><span class="p">,</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">boxed_args</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">44</span> <span class="n">ans</span> <span class="o">=</span> <span class="n">f_wrapped</span><span class="p">(</span><span class="o">*</span><span class="n">argvals</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="ne">---&gt; </span><span class="mi">45</span> <span class="n">node</span> <span class="o">=</span> <span class="n">node_constructor</span><span class="p">(</span><span class="n">ans</span><span class="p">,</span> <span class="n">f_wrapped</span><span class="p">,</span> <span class="n">argvals</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">,</span> <span class="n">argnums</span><span class="p">,</span> <span class="n">parents</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">46</span> <span class="k">return</span> <span class="n">new_box</span><span class="p">(</span><span class="n">ans</span><span class="p">,</span> <span class="n">trace</span><span class="p">,</span> <span class="n">node</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">47</span> <span class="k">else</span><span class="p">:</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:36,</span> in <span class="ni">VJPNode.__init__</span><span class="nt">(self, value, fun, args, kwargs, parent_argnums, parents)</span>
<span class="g g-Whitespace"> </span><span class="mi">33</span> <span class="n">fun_name</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">fun</span><span class="p">,</span> <span class="s1">&#39;__name__&#39;</span><span class="p">,</span> <span class="n">fun</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">34</span> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">&quot;VJP of </span><span class="si">{}</span><span class="s2"> wrt argnums </span><span class="si">{}</span><span class="s2"> not defined&quot;</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">fun_name</span><span class="p">,</span> <span class="n">parent_argnums</span><span class="p">))</span>
<span class="ne">---&gt; </span><span class="mi">36</span> <span class="bp">self</span><span class="o">.</span><span class="n">vjp</span> <span class="o">=</span> <span class="n">vjpmaker</span><span class="p">(</span><span class="n">parent_argnums</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">)</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:76,</span> in <span class="ni">defvjp.&lt;locals&gt;.vjp_argnums</span><span class="nt">(argnums, ans, args, kwargs)</span>
<span class="g g-Whitespace"> </span><span class="mi">73</span> <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">74</span> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">75</span> <span class="s2">&quot;VJP of </span><span class="si">{}</span><span class="s2"> wrt argnums 0, 1 not defined&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">fun</span><span class="o">.</span><span class="vm">__name__</span><span class="p">))</span>
<span class="ne">---&gt; </span><span class="mi">76</span> <span class="n">vjp_0</span> <span class="o">=</span> <span class="n">vjp_0_fun</span><span class="p">(</span><span class="n">ans</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">77</span> <span class="n">vjp_1</span> <span class="o">=</span> <span class="n">vjp_1_fun</span><span class="p">(</span><span class="n">ans</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">78</span> <span class="k">return</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="p">(</span><span class="n">vjp_0</span><span class="p">(</span><span class="n">g</span><span class="p">),</span> <span class="n">vjp_1</span><span class="p">(</span><span class="n">g</span><span class="p">))</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:34,</span> in <span class="ni">&lt;lambda&gt;</span><span class="nt">(ans, x, y)</span>
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="c1"># ----- Binary ufuncs -----</span>
<span class="g g-Whitespace"> </span><span class="mi">32</span> <span class="n">defvjp</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">add</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">g</span><span class="p">),</span>
<span class="g g-Whitespace"> </span><span class="mi">33</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">g</span><span class="p">))</span>
<span class="ne">---&gt; </span><span class="mi">34</span> <span class="n">defvjp</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">multiply</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">y</span> <span class="o">*</span> <span class="n">g</span><span class="p">),</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">x</span> <span class="o">*</span> <span class="n">g</span><span class="p">))</span>
<span class="g g-Whitespace"> </span><span class="mi">36</span> <span class="n">defvjp</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">subtract</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">g</span><span class="p">),</span>
<span class="g g-Whitespace"> </span><span class="mi">37</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="o">-</span><span class="n">g</span><span class="p">))</span>
<span class="g g-Whitespace"> </span><span class="mi">38</span> <span class="n">defvjp</span><span class="p">(</span><span class="n">anp</span><span class="o">.</span><span class="n">divide</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">g</span> <span class="o">/</span> <span class="n">y</span><span class="p">),</span>
<span class="g g-Whitespace"> </span><span class="mi">39</span> <span class="k">lambda</span> <span class="n">ans</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="p">:</span> <span class="n">unbroadcast_f</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="o">-</span> <span class="n">g</span> <span class="o">*</span> <span class="n">x</span> <span class="o">/</span> <span class="n">y</span><span class="o">**</span><span class="mi">2</span><span class="p">))</span>
<span class="nn">File ~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:659,</span> in <span class="ni">unbroadcast_f</span><span class="nt">(target, f)</span>
<span class="g g-Whitespace"> </span><span class="mi">658</span> <span class="k">def</span> <span class="nf">unbroadcast_f</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">f</span><span class="p">):</span>
<span class="ne">--&gt; </span><span class="mi">659</span> <span class="n">target_meta</span> <span class="o">=</span> <span class="n">anp</span><span class="o">.</span><span class="n">metadata</span><span class="p">(</span><span class="n">target</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">660</span> <span class="k">return</span> <span class="k">lambda</span> <span class="n">g</span><span class="p">:</span> <span class="n">unbroadcast</span><span class="p">(</span><span class="n">f</span><span class="p">(</span><span class="n">g</span><span class="p">),</span> <span class="n">target_meta</span><span class="p">)</span>
<span class="ne">KeyboardInterrupt</span>:
</pre></div>
+147 -8
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -1129,8 +1156,12 @@ labels = (n_inputs) = (1797,)
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lib/__init__.py:32: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.
warnings.warn(&quot;JAX on Mac ARM machines is experimental and minimally tested. &quot;
</pre></div>
</div>
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
<span class="ne">ModuleNotFoundError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="ne">AttributeError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="nn">Input In [4],</span> in <span class="ni">&lt;cell line: 1&gt;</span><span class="nt">()</span>
<span class="ne">----&gt; </span><span class="mi">1</span> <span class="kn">from</span> <span class="nn">tensorflow.keras</span> <span class="kn">import</span> <span class="n">datasets</span><span class="p">,</span> <span class="n">layers</span><span class="p">,</span> <span class="n">models</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="kn">from</span> <span class="nn">tensorflow.keras.layers</span> <span class="kn">import</span> <span class="n">Input</span>
@@ -1216,14 +1247,122 @@ labels = (n_inputs) = (1797,)
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="kn">from</span> <span class="nn">tensorflow.lite.python</span> <span class="kn">import</span> <span class="n">wrap_toco</span>
<span class="g g-Whitespace"> </span><span class="mi">31</span> <span class="kn">from</span> <span class="nn">tensorflow.lite.python.convert_phase</span> <span class="kn">import</span> <span class="n">Component</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">tensorflow</span><span class="o">/</span><span class="n">lite</span><span class="o">/</span><span class="n">python</span><span class="o">/</span><span class="n">util</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">26</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="kn">import</span> <span class="nn">six</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="kn">from</span> <span class="nn">six.moves</span> <span class="kn">import</span> <span class="nb">range</span>
<span class="ne">---&gt; </span><span class="mi">26</span> <span class="kn">import</span> <span class="nn">flatbuffers</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="kn">from</span> <span class="nn">tensorflow.core.protobuf</span> <span class="kn">import</span> <span class="n">config_pb2</span> <span class="k">as</span> <span class="n">_config_pb2</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="kn">from</span> <span class="nn">tensorflow.core.protobuf</span> <span class="kn">import</span> <span class="n">graph_debug_info_pb2</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">tensorflow</span><span class="o">/</span><span class="n">lite</span><span class="o">/</span><span class="n">python</span><span class="o">/</span><span class="n">util</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">51</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">47</span> <span class="c1"># Jax functions used by TFLite</span>
<span class="g g-Whitespace"> </span><span class="mi">48</span> <span class="c1"># pylint: disable=g-import-not-at-top</span>
<span class="g g-Whitespace"> </span><span class="mi">49</span> <span class="c1"># pylint: disable=unused-import</span>
<span class="g g-Whitespace"> </span><span class="mi">50</span> <span class="k">try</span><span class="p">:</span>
<span class="ne">---&gt; </span><span class="mi">51</span> <span class="kn">from</span> <span class="nn">jax</span> <span class="kn">import</span> <span class="n">xla_computation</span> <span class="k">as</span> <span class="n">_xla_computation</span>
<span class="g g-Whitespace"> </span><span class="mi">52</span> <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">53</span> <span class="n">_xla_computation</span> <span class="o">=</span> <span class="kc">None</span>
<span class="ne">ModuleNotFoundError</span>: No module named &#39;flatbuffers&#39;
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">116</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="kn">from</span> <span class="nn">._src.config</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">41</span> <span class="n">config</span> <span class="k">as</span> <span class="n">config</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">42</span> <span class="n">enable_checks</span> <span class="k">as</span> <span class="n">enable_checks</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">51</span> <span class="n">numpy_rank_promotion</span> <span class="k">as</span> <span class="n">numpy_rank_promotion</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">52</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">53</span> <span class="kn">from</span> <span class="nn">._src.api</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">54</span> <span class="n">ad</span><span class="p">,</span> <span class="c1"># TODO(phawkins): update users to avoid this.</span>
<span class="g g-Whitespace"> </span><span class="mi">55</span> <span class="n">checkpoint</span> <span class="k">as</span> <span class="n">checkpoint</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">114</span> <span class="n">xla_computation</span> <span class="k">as</span> <span class="n">xla_computation</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">115</span> <span class="p">)</span>
<span class="ne">--&gt; </span><span class="mi">116</span> <span class="kn">from</span> <span class="nn">.experimental.maps</span> <span class="kn">import</span> <span class="n">soft_pmap</span> <span class="k">as</span> <span class="n">soft_pmap</span>
<span class="g g-Whitespace"> </span><span class="mi">117</span> <span class="kn">from</span> <span class="nn">.version</span> <span class="kn">import</span> <span class="n">__version__</span> <span class="k">as</span> <span class="n">__version__</span>
<span class="g g-Whitespace"> </span><span class="mi">119</span> <span class="c1"># These submodules are separate because they are in an import cycle with</span>
<span class="g g-Whitespace"> </span><span class="mi">120</span> <span class="c1"># jax and rely on the names imported above.</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">experimental</span><span class="o">/</span><span class="n">maps</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">26</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">wraps</span><span class="p">,</span> <span class="n">partial</span><span class="p">,</span> <span class="n">partialmethod</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span>
<span class="ne">---&gt; </span><span class="mi">26</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">numpy</span> <span class="k">as</span> <span class="n">jnp</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">core</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">linear_util</span> <span class="k">as</span> <span class="n">lu</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">19</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="c1"># Copyright 2018 Google LLC</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="c1">#</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">17</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="c1"># flake8: noqa: F401</span>
<span class="ne">---&gt; </span><span class="mi">19</span> <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">linalg</span> <span class="k">as</span> <span class="n">linalg</span>
<span class="g g-Whitespace"> </span><span class="mi">22</span> <span class="kn">from</span> <span class="nn">jax.interpreters.xla</span> <span class="kn">import</span> <span class="n">DeviceArray</span> <span class="k">as</span> <span class="n">DeviceArray</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">17</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="c1"># Copyright 2020 Google LLC</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="c1">#</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">14</span>
<span class="g g-Whitespace"> </span><span class="mi">15</span> <span class="c1"># flake8: noqa: F401</span>
<span class="ne">---&gt; </span><span class="mi">17</span> <span class="kn">from</span> <span class="nn">jax._src.numpy.fft</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="n">ifft</span> <span class="k">as</span> <span class="n">ifft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">19</span> <span class="n">ifft2</span> <span class="k">as</span> <span class="n">ifft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="n">ifftn</span> <span class="k">as</span> <span class="n">ifftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">21</span> <span class="n">ifftshift</span> <span class="k">as</span> <span class="n">ifftshift</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">22</span> <span class="n">ihfft</span> <span class="k">as</span> <span class="n">ihfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="n">irfft</span> <span class="k">as</span> <span class="n">irfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="n">irfft2</span> <span class="k">as</span> <span class="n">irfft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">25</span> <span class="n">irfftn</span> <span class="k">as</span> <span class="n">irfftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">26</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="n">fft2</span> <span class="k">as</span> <span class="n">fft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="n">fftfreq</span> <span class="k">as</span> <span class="n">fftfreq</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">29</span> <span class="n">fftn</span> <span class="k">as</span> <span class="n">fftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="n">fftshift</span> <span class="k">as</span> <span class="n">fftshift</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">31</span> <span class="n">hfft</span> <span class="k">as</span> <span class="n">hfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">32</span> <span class="n">rfft</span> <span class="k">as</span> <span class="n">rfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">33</span> <span class="n">rfft2</span> <span class="k">as</span> <span class="n">rfft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">34</span> <span class="n">rfftfreq</span> <span class="k">as</span> <span class="n">rfftfreq</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="n">rfftn</span> <span class="k">as</span> <span class="n">rfftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">36</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">38</span> <span class="c1"># Module initialization is encapsulated in a function to avoid accidental</span>
<span class="g g-Whitespace"> </span><span class="mi">39</span> <span class="c1"># namespace pollution.</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="n">_NOT_IMPLEMENTED</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">_src</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">19</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">16</span> <span class="kn">import</span> <span class="nn">operator</span>
<span class="g g-Whitespace"> </span><span class="mi">17</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="ne">---&gt; </span><span class="mi">19</span> <span class="kn">from</span> <span class="nn">jax</span> <span class="kn">import</span> <span class="n">lax</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="kn">from</span> <span class="nn">jax._src.lib</span> <span class="kn">import</span> <span class="n">xla_client</span>
<span class="g g-Whitespace"> </span><span class="mi">21</span> <span class="kn">from</span> <span class="nn">jax._src.util</span> <span class="kn">import</span> <span class="n">safe_zip</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">lax</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">332</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">299</span> <span class="kn">from</span> <span class="nn">jax._src.lax.lax</span> <span class="kn">import</span> <span class="p">(</span><span class="n">_reduce_sum</span><span class="p">,</span> <span class="n">_reduce_max</span><span class="p">,</span> <span class="n">_reduce_min</span><span class="p">,</span> <span class="n">_reduce_or</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">300</span> <span class="n">_reduce_and</span><span class="p">,</span> <span class="n">_reduce_window_sum</span><span class="p">,</span> <span class="n">_reduce_window_max</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">301</span> <span class="n">_reduce_window_min</span><span class="p">,</span> <span class="n">_reduce_window_prod</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">306</span> <span class="n">_upcast_fp16_for_computation</span><span class="p">,</span> <span class="n">_broadcasting_shape_rule</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">307</span> <span class="n">_eye</span><span class="p">,</span> <span class="n">_tri</span><span class="p">,</span> <span class="n">_delta</span><span class="p">,</span> <span class="n">_ones</span><span class="p">,</span> <span class="n">_zeros</span><span class="p">,</span> <span class="n">_dilate_shape</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">308</span> <span class="kn">from</span> <span class="nn">jax._src.lax.control_flow</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">309</span> <span class="n">associative_scan</span> <span class="k">as</span> <span class="n">associative_scan</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">310</span> <span class="n">cond</span> <span class="k">as</span> <span class="n">cond</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">330</span> <span class="n">while_p</span> <span class="k">as</span> <span class="n">while_p</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">331</span> <span class="p">)</span>
<span class="ne">--&gt; </span><span class="mi">332</span> <span class="kn">from</span> <span class="nn">jax._src.lax.fft</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">333</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">334</span> <span class="n">fft_p</span> <span class="k">as</span> <span class="n">fft_p</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">335</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">336</span> <span class="kn">from</span> <span class="nn">jax._src.lax.parallel</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">337</span> <span class="n">all_gather</span> <span class="k">as</span> <span class="n">all_gather</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">338</span> <span class="n">all_to_all</span> <span class="k">as</span> <span class="n">all_to_all</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">355</span> <span class="n">xeinsum</span> <span class="k">as</span> <span class="n">xeinsum</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">356</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">357</span> <span class="kn">from</span> <span class="nn">jax._src.lax.other</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">358</span> <span class="n">conv_general_dilated_patches</span> <span class="k">as</span> <span class="n">conv_general_dilated_patches</span>
<span class="g g-Whitespace"> </span><span class="mi">359</span> <span class="p">)</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">_src</span><span class="o">/</span><span class="n">lax</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">145</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">143</span> <span class="n">batching</span><span class="o">.</span><span class="n">primitive_batchers</span><span class="p">[</span><span class="n">fft_p</span><span class="p">]</span> <span class="o">=</span> <span class="n">fft_batching_rule</span>
<span class="g g-Whitespace"> </span><span class="mi">144</span> <span class="k">if</span> <span class="n">pocketfft</span><span class="p">:</span>
<span class="ne">--&gt; </span><span class="mi">145</span> <span class="n">xla</span><span class="o">.</span><span class="n">backend_specific_translations</span><span class="p">[</span><span class="s1">&#39;cpu&#39;</span><span class="p">][</span><span class="n">fft_p</span><span class="p">]</span> <span class="o">=</span> <span class="n">pocketfft</span><span class="o">.</span><span class="n">pocketfft</span>
<span class="ne">AttributeError</span>: module &#39;jaxlib.pocketfft&#39; has no attribute &#39;pocketfft&#39;
</pre></div>
</div>
</div>
+155 -8
View File
@@ -55,6 +55,7 @@ const thebe_selector_output = ".output, .cell_output"
<script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Exercises week 34" href="exercisesweek34.html" />
<link rel="prev" title="16. Convolutional Neural Networks" href="chapter12.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="None">
@@ -241,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -538,8 +566,12 @@ systems such as automatic translation and speech-to-text.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lib/__init__.py:32: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.
warnings.warn(&quot;JAX on Mac ARM machines is experimental and minimally tested. &quot;
</pre></div>
</div>
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
<span class="ne">ModuleNotFoundError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="ne">AttributeError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="nn">Input In [1],</span> in <span class="ni">&lt;cell line: 7&gt;</span><span class="nt">()</span>
<span class="g g-Whitespace"> </span><span class="mi">5</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="g g-Whitespace"> </span><span class="mi">6</span> <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
@@ -627,14 +659,122 @@ systems such as automatic translation and speech-to-text.</p>
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="kn">from</span> <span class="nn">tensorflow.lite.python</span> <span class="kn">import</span> <span class="n">wrap_toco</span>
<span class="g g-Whitespace"> </span><span class="mi">31</span> <span class="kn">from</span> <span class="nn">tensorflow.lite.python.convert_phase</span> <span class="kn">import</span> <span class="n">Component</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">tensorflow</span><span class="o">/</span><span class="n">lite</span><span class="o">/</span><span class="n">python</span><span class="o">/</span><span class="n">util</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">26</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="kn">import</span> <span class="nn">six</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="kn">from</span> <span class="nn">six.moves</span> <span class="kn">import</span> <span class="nb">range</span>
<span class="ne">---&gt; </span><span class="mi">26</span> <span class="kn">import</span> <span class="nn">flatbuffers</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="kn">from</span> <span class="nn">tensorflow.core.protobuf</span> <span class="kn">import</span> <span class="n">config_pb2</span> <span class="k">as</span> <span class="n">_config_pb2</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="kn">from</span> <span class="nn">tensorflow.core.protobuf</span> <span class="kn">import</span> <span class="n">graph_debug_info_pb2</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">tensorflow</span><span class="o">/</span><span class="n">lite</span><span class="o">/</span><span class="n">python</span><span class="o">/</span><span class="n">util</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">51</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">47</span> <span class="c1"># Jax functions used by TFLite</span>
<span class="g g-Whitespace"> </span><span class="mi">48</span> <span class="c1"># pylint: disable=g-import-not-at-top</span>
<span class="g g-Whitespace"> </span><span class="mi">49</span> <span class="c1"># pylint: disable=unused-import</span>
<span class="g g-Whitespace"> </span><span class="mi">50</span> <span class="k">try</span><span class="p">:</span>
<span class="ne">---&gt; </span><span class="mi">51</span> <span class="kn">from</span> <span class="nn">jax</span> <span class="kn">import</span> <span class="n">xla_computation</span> <span class="k">as</span> <span class="n">_xla_computation</span>
<span class="g g-Whitespace"> </span><span class="mi">52</span> <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">53</span> <span class="n">_xla_computation</span> <span class="o">=</span> <span class="kc">None</span>
<span class="ne">ModuleNotFoundError</span>: No module named &#39;flatbuffers&#39;
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">116</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="kn">from</span> <span class="nn">._src.config</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">41</span> <span class="n">config</span> <span class="k">as</span> <span class="n">config</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">42</span> <span class="n">enable_checks</span> <span class="k">as</span> <span class="n">enable_checks</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">51</span> <span class="n">numpy_rank_promotion</span> <span class="k">as</span> <span class="n">numpy_rank_promotion</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">52</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">53</span> <span class="kn">from</span> <span class="nn">._src.api</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">54</span> <span class="n">ad</span><span class="p">,</span> <span class="c1"># TODO(phawkins): update users to avoid this.</span>
<span class="g g-Whitespace"> </span><span class="mi">55</span> <span class="n">checkpoint</span> <span class="k">as</span> <span class="n">checkpoint</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">114</span> <span class="n">xla_computation</span> <span class="k">as</span> <span class="n">xla_computation</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">115</span> <span class="p">)</span>
<span class="ne">--&gt; </span><span class="mi">116</span> <span class="kn">from</span> <span class="nn">.experimental.maps</span> <span class="kn">import</span> <span class="n">soft_pmap</span> <span class="k">as</span> <span class="n">soft_pmap</span>
<span class="g g-Whitespace"> </span><span class="mi">117</span> <span class="kn">from</span> <span class="nn">.version</span> <span class="kn">import</span> <span class="n">__version__</span> <span class="k">as</span> <span class="n">__version__</span>
<span class="g g-Whitespace"> </span><span class="mi">119</span> <span class="c1"># These submodules are separate because they are in an import cycle with</span>
<span class="g g-Whitespace"> </span><span class="mi">120</span> <span class="c1"># jax and rely on the names imported above.</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">experimental</span><span class="o">/</span><span class="n">maps</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">26</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">wraps</span><span class="p">,</span> <span class="n">partial</span><span class="p">,</span> <span class="n">partialmethod</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span>
<span class="ne">---&gt; </span><span class="mi">26</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">numpy</span> <span class="k">as</span> <span class="n">jnp</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">core</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">linear_util</span> <span class="k">as</span> <span class="n">lu</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">19</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="c1"># Copyright 2018 Google LLC</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="c1">#</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">17</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="c1"># flake8: noqa: F401</span>
<span class="ne">---&gt; </span><span class="mi">19</span> <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">linalg</span> <span class="k">as</span> <span class="n">linalg</span>
<span class="g g-Whitespace"> </span><span class="mi">22</span> <span class="kn">from</span> <span class="nn">jax.interpreters.xla</span> <span class="kn">import</span> <span class="n">DeviceArray</span> <span class="k">as</span> <span class="n">DeviceArray</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">17</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="c1"># Copyright 2020 Google LLC</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="c1">#</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">14</span>
<span class="g g-Whitespace"> </span><span class="mi">15</span> <span class="c1"># flake8: noqa: F401</span>
<span class="ne">---&gt; </span><span class="mi">17</span> <span class="kn">from</span> <span class="nn">jax._src.numpy.fft</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="n">ifft</span> <span class="k">as</span> <span class="n">ifft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">19</span> <span class="n">ifft2</span> <span class="k">as</span> <span class="n">ifft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="n">ifftn</span> <span class="k">as</span> <span class="n">ifftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">21</span> <span class="n">ifftshift</span> <span class="k">as</span> <span class="n">ifftshift</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">22</span> <span class="n">ihfft</span> <span class="k">as</span> <span class="n">ihfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="n">irfft</span> <span class="k">as</span> <span class="n">irfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="n">irfft2</span> <span class="k">as</span> <span class="n">irfft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">25</span> <span class="n">irfftn</span> <span class="k">as</span> <span class="n">irfftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">26</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="n">fft2</span> <span class="k">as</span> <span class="n">fft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="n">fftfreq</span> <span class="k">as</span> <span class="n">fftfreq</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">29</span> <span class="n">fftn</span> <span class="k">as</span> <span class="n">fftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="n">fftshift</span> <span class="k">as</span> <span class="n">fftshift</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">31</span> <span class="n">hfft</span> <span class="k">as</span> <span class="n">hfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">32</span> <span class="n">rfft</span> <span class="k">as</span> <span class="n">rfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">33</span> <span class="n">rfft2</span> <span class="k">as</span> <span class="n">rfft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">34</span> <span class="n">rfftfreq</span> <span class="k">as</span> <span class="n">rfftfreq</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="n">rfftn</span> <span class="k">as</span> <span class="n">rfftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">36</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">38</span> <span class="c1"># Module initialization is encapsulated in a function to avoid accidental</span>
<span class="g g-Whitespace"> </span><span class="mi">39</span> <span class="c1"># namespace pollution.</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="n">_NOT_IMPLEMENTED</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">_src</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">19</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">16</span> <span class="kn">import</span> <span class="nn">operator</span>
<span class="g g-Whitespace"> </span><span class="mi">17</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="ne">---&gt; </span><span class="mi">19</span> <span class="kn">from</span> <span class="nn">jax</span> <span class="kn">import</span> <span class="n">lax</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="kn">from</span> <span class="nn">jax._src.lib</span> <span class="kn">import</span> <span class="n">xla_client</span>
<span class="g g-Whitespace"> </span><span class="mi">21</span> <span class="kn">from</span> <span class="nn">jax._src.util</span> <span class="kn">import</span> <span class="n">safe_zip</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">lax</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">332</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">299</span> <span class="kn">from</span> <span class="nn">jax._src.lax.lax</span> <span class="kn">import</span> <span class="p">(</span><span class="n">_reduce_sum</span><span class="p">,</span> <span class="n">_reduce_max</span><span class="p">,</span> <span class="n">_reduce_min</span><span class="p">,</span> <span class="n">_reduce_or</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">300</span> <span class="n">_reduce_and</span><span class="p">,</span> <span class="n">_reduce_window_sum</span><span class="p">,</span> <span class="n">_reduce_window_max</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">301</span> <span class="n">_reduce_window_min</span><span class="p">,</span> <span class="n">_reduce_window_prod</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">306</span> <span class="n">_upcast_fp16_for_computation</span><span class="p">,</span> <span class="n">_broadcasting_shape_rule</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">307</span> <span class="n">_eye</span><span class="p">,</span> <span class="n">_tri</span><span class="p">,</span> <span class="n">_delta</span><span class="p">,</span> <span class="n">_ones</span><span class="p">,</span> <span class="n">_zeros</span><span class="p">,</span> <span class="n">_dilate_shape</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">308</span> <span class="kn">from</span> <span class="nn">jax._src.lax.control_flow</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">309</span> <span class="n">associative_scan</span> <span class="k">as</span> <span class="n">associative_scan</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">310</span> <span class="n">cond</span> <span class="k">as</span> <span class="n">cond</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">330</span> <span class="n">while_p</span> <span class="k">as</span> <span class="n">while_p</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">331</span> <span class="p">)</span>
<span class="ne">--&gt; </span><span class="mi">332</span> <span class="kn">from</span> <span class="nn">jax._src.lax.fft</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">333</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">334</span> <span class="n">fft_p</span> <span class="k">as</span> <span class="n">fft_p</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">335</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">336</span> <span class="kn">from</span> <span class="nn">jax._src.lax.parallel</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">337</span> <span class="n">all_gather</span> <span class="k">as</span> <span class="n">all_gather</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">338</span> <span class="n">all_to_all</span> <span class="k">as</span> <span class="n">all_to_all</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">355</span> <span class="n">xeinsum</span> <span class="k">as</span> <span class="n">xeinsum</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">356</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">357</span> <span class="kn">from</span> <span class="nn">jax._src.lax.other</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">358</span> <span class="n">conv_general_dilated_patches</span> <span class="k">as</span> <span class="n">conv_general_dilated_patches</span>
<span class="g g-Whitespace"> </span><span class="mi">359</span> <span class="p">)</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">_src</span><span class="o">/</span><span class="n">lax</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">145</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">143</span> <span class="n">batching</span><span class="o">.</span><span class="n">primitive_batchers</span><span class="p">[</span><span class="n">fft_p</span><span class="p">]</span> <span class="o">=</span> <span class="n">fft_batching_rule</span>
<span class="g g-Whitespace"> </span><span class="mi">144</span> <span class="k">if</span> <span class="n">pocketfft</span><span class="p">:</span>
<span class="ne">--&gt; </span><span class="mi">145</span> <span class="n">xla</span><span class="o">.</span><span class="n">backend_specific_translations</span><span class="p">[</span><span class="s1">&#39;cpu&#39;</span><span class="p">][</span><span class="n">fft_p</span><span class="p">]</span> <span class="o">=</span> <span class="n">pocketfft</span><span class="o">.</span><span class="n">pocketfft</span>
<span class="ne">AttributeError</span>: module &#39;jaxlib.pocketfft&#39; has no attribute &#39;pocketfft&#39;
</pre></div>
</div>
</div>
@@ -1863,6 +2003,13 @@ latent space.</p>
<p class="prev-next-title"><span class="section-number">16. </span>Convolutional Neural Networks</p>
</div>
</a>
<a class='right-next' id="next-link" href="exercisesweek34.html" title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Exercises week 34</p>
</div>
<i class="fas fa-angle-right"></i>
</a>
</div>
</div>
+86 -59
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -1206,10 +1233,10 @@ covariance matrix through the <strong>np.linalg.eig()</strong> function.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>-0.08873443359350565
3.7851533175757255
[[ 0.98248312 3.05483267]
[ 3.05483267 10.24784064]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.008947823579448178
4.14822021080294
[[0.73947737 2.16006961]
[2.16006961 7.24782786]]
</pre></div>
</div>
</div>
@@ -1246,10 +1273,10 @@ a more brute force way. Here we scale the mean values for each column of the des
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.07858099596662704
2.071920625289855
[[1. 0.71822416]
[0.71822416 1. ]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.08657894597048958
2.219222942590059
[[1. 0.6343356]
[0.6343356 1. ]]
</pre></div>
</div>
</div>
@@ -1279,30 +1306,30 @@ this matrix we easily see that it is a positive definite matrix.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[ -2.84861838 -10.07337358]
[ 0.53938383 2.59445979]
[ -0.40980089 -0.48871288]
[ 0.05834332 -0.39384255]
[ 2.25385387 7.58112299]
[ 0.68246434 2.46650488]
[ -0.25366775 -1.97047717]
[ 0.79081838 2.03807267]
[ -0.06150169 -0.57109235]
[ -0.75127504 -1.18266178]]
0 1
0 -2.848618 -10.073374
1 0.539384 2.594460
2 -0.409801 -0.488713
3 0.058343 -0.393843
4 2.253854 7.581123
5 0.682464 2.466505
6 -0.253668 -1.970477
7 0.790818 2.038073
8 -0.061502 -0.571092
9 -0.751275 -1.182662
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[ 0.29724806 0.26804287]
[-0.15626984 -1.36853738]
[-0.77070756 -2.13536532]
[-0.45372697 -3.1582408 ]
[ 0.52580392 2.72567956]
[-0.86515815 -1.35704388]
[-0.73738602 -2.12933164]
[-0.10486183 1.06292011]
[ 1.75670484 5.27381733]
[ 0.50835355 0.81805914]]
0 1
0 1.000000 0.984525
1 0.984525 1.000000
0 0.297248 0.268043
1 -0.156270 -1.368537
2 -0.770708 -2.135365
3 -0.453727 -3.158241
4 0.525804 2.725680
5 -0.865158 -1.357044
6 -0.737386 -2.129332
7 -0.104862 1.062920
8 1.756705 5.273817
9 0.508354 0.818059
0 1
0 1.000000 0.915549
1 0.915549 1.000000
</pre></div>
</div>
</div>
@@ -1359,37 +1386,37 @@ this matrix we easily see that it is a positive definite matrix.</p>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 0 1 2 3 4 5 6 7 \
0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1 0.0 0.090241 0.082140 0.090564 0.084086 0.078082 0.082282 0.076619
2 0.0 0.082140 0.075227 0.083102 0.077428 0.072150 0.075982 0.070945
3 0.0 0.090564 0.083102 0.096893 0.090268 0.084107 0.091647 0.085571
4 0.0 0.084086 0.077428 0.090268 0.084286 0.078707 0.085655 0.080120
5 0.0 0.078082 0.072150 0.084107 0.078707 0.073657 0.080061 0.075020
6 0.0 0.082282 0.075982 0.091647 0.085655 0.080061 0.089082 0.083380
7 0.0 0.076619 0.070945 0.085571 0.080120 0.075020 0.083380 0.078158
8 0.0 0.071394 0.066284 0.079944 0.074984 0.070333 0.078082 0.073299
9 0.0 0.066569 0.061966 0.074729 0.070216 0.065973 0.073159 0.068776
10 0.0 0.073831 0.068541 0.084523 0.079224 0.074258 0.083779 0.078587
11 0.0 0.068867 0.064081 0.079021 0.074183 0.069640 0.078484 0.073716
12 0.0 0.064284 0.059952 0.073925 0.069506 0.065349 0.073567 0.069187
13 0.0 0.060048 0.056127 0.069202 0.065165 0.061359 0.068999 0.064974
14 0.0 0.056131 0.052581 0.064823 0.061133 0.057648 0.064753 0.061054
1 0.0 0.086925 0.087377 0.087520 0.087878 0.088164 0.079680 0.079580
2 0.0 0.087377 0.089240 0.088074 0.089063 0.089924 0.079827 0.080060
3 0.0 0.087520 0.088074 0.094227 0.094252 0.094139 0.089441 0.088974
4 0.0 0.087878 0.089063 0.094252 0.094610 0.094812 0.089040 0.088778
5 0.0 0.088164 0.089924 0.094139 0.094812 0.095315 0.088488 0.088425
6 0.0 0.079680 0.079827 0.089441 0.089040 0.088488 0.087315 0.086524
7 0.0 0.079580 0.080060 0.088974 0.088778 0.088425 0.086524 0.085876
8 0.0 0.079499 0.080295 0.088502 0.088506 0.088348 0.085716 0.085210
9 0.0 0.079448 0.080548 0.088037 0.088238 0.088275 0.084906 0.084541
10 0.0 0.071751 0.071438 0.082839 0.082089 0.081194 0.082509 0.081481
11 0.0 0.071392 0.071284 0.082139 0.081533 0.080780 0.081559 0.080641
12 0.0 0.071071 0.071164 0.081471 0.081007 0.080395 0.080635 0.079827
13 0.0 0.070794 0.071084 0.080839 0.080518 0.080048 0.079741 0.079043
14 0.0 0.070562 0.071051 0.080249 0.080070 0.079745 0.078880 0.078293
8 9 10 11 12 13 14
0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1 0.071394 0.066569 0.073831 0.068867 0.064284 0.060048 0.056131
2 0.066284 0.061966 0.068541 0.064081 0.059952 0.056127 0.052581
3 0.079944 0.074729 0.084523 0.079021 0.073925 0.069202 0.064823
4 0.074984 0.070216 0.079224 0.074183 0.069506 0.065165 0.061133
5 0.070333 0.065973 0.074258 0.069640 0.065349 0.061359 0.057648
6 0.078082 0.073159 0.083779 0.078484 0.073567 0.068999 0.064753
7 0.073299 0.068776 0.078587 0.073716 0.069187 0.064974 0.061054
8 0.068841 0.064684 0.073750 0.069268 0.065095 0.061209 0.057588
9 0.064684 0.060863 0.069242 0.065118 0.061272 0.057686 0.054340
10 0.073750 0.069242 0.079948 0.075028 0.070450 0.066189 0.062220
11 0.069268 0.065118 0.075028 0.070494 0.066270 0.062333 0.058663
12 0.065095 0.061272 0.070450 0.066270 0.062370 0.058732 0.055337
13 0.061209 0.057686 0.066189 0.062333 0.058732 0.055369 0.052227
14 0.057588 0.054340 0.062220 0.058663 0.055337 0.052227 0.049318
1 0.079499 0.079448 0.071751 0.071392 0.071071 0.070794 0.070562
2 0.080295 0.080548 0.071438 0.071284 0.071164 0.071084 0.071051
3 0.088502 0.088037 0.082839 0.082139 0.081471 0.080839 0.080249
4 0.088506 0.088238 0.082089 0.081533 0.081007 0.080518 0.080070
5 0.088348 0.088275 0.081194 0.080780 0.080395 0.080048 0.079745
6 0.085716 0.084906 0.082509 0.081559 0.080635 0.079741 0.078880
7 0.085210 0.084541 0.081481 0.080641 0.079827 0.079043 0.078293
8 0.084685 0.084157 0.080434 0.079704 0.078999 0.078326 0.077688
9 0.084157 0.083772 0.079379 0.078759 0.078165 0.077604 0.077079
10 0.080434 0.079379 0.079152 0.078033 0.076935 0.075863 0.074818
11 0.079704 0.078759 0.078033 0.077004 0.075996 0.075014 0.074061
12 0.078999 0.078165 0.076935 0.075996 0.075079 0.074187 0.073325
13 0.078326 0.077604 0.075863 0.075014 0.074187 0.073388 0.072618
14 0.077688 0.077079 0.074818 0.074061 0.073325 0.072618 0.071942
</pre></div>
</div>
</div>
+71 -44
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -760,10 +787,10 @@ number <span class="math notranslate nohighlight">\(i\)</span> is left out. Usin
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Runtime: 0.0893679 sec
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Runtime: 0.0907831 sec
Jackknife Statistics :
original bias std. error
99.9524 99.9424 0.148854
100.142 100.132 0.149864
</pre></div>
</div>
</div>
@@ -982,7 +1009,7 @@ theorem.</p>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Bootstrap Statistics :
original bias std. error
100.188 15.1133 100.19 0.149655
100.033 14.9292 100.032 0.149452
</pre></div>
</div>
</div>
@@ -1216,9 +1243,7 @@ Error: 0.03781367141738902
Bias^2: 0.03365768507152769
Var: 0.0041559863458613296
0.03781367141738902 &gt;= 0.03365768507152769 + 0.0041559863458613296 = 0.03781367141738902
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Polynomial degree: 7
Polynomial degree: 7
Error: 0.027609773491022394
Bias^2: 0.022999498260366198
Var: 0.004610275230656182
@@ -1238,7 +1263,9 @@ Error: 0.021592704588021178
Bias^2: 0.010516485576646504
Var: 0.01107621901137467
0.021592704588021178 &gt;= 0.010516485576646504 + 0.01107621901137467 = 0.021592704588021174
Polynomial degree: 11
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Polynomial degree: 11
Error: 0.07160048164232538
Bias^2: 0.014436800088896381
Var: 0.05716368155342902
@@ -1508,12 +1535,12 @@ Mean squared error on test data: 0.17446471
Degree of polynomial: 13
Mean squared error on training data: 0.00759119
Mean squared error on test data: 1.08131003
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Degree of polynomial: 14
Degree of polynomial: 14
Mean squared error on training data: 0.00472199
Mean squared error on test data: 0.81333804
Degree of polynomial: 15
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Degree of polynomial: 15
Mean squared error on training data: 0.00410478
Mean squared error on test data: 92.09172409
Degree of polynomial: 16
@@ -1528,12 +1555,12 @@ Mean squared error on test data: 108.27092910
Degree of polynomial: 19
Mean squared error on training data: 0.00156376
Mean squared error on test data: 1371.99051150
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Degree of polynomial: 20
Degree of polynomial: 20
Mean squared error on training data: 0.00137818
Mean squared error on test data: 1887.86252988
Degree of polynomial: 21
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Degree of polynomial: 21
Mean squared error on training data: 0.00118508
Mean squared error on test data: 14859.69908626
Degree of polynomial: 22
@@ -1548,12 +1575,12 @@ Mean squared error on test data: 1277.61702282
Degree of polynomial: 25
Mean squared error on training data: 0.00079129
Mean squared error on test data: 128664.31650694
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Degree of polynomial: 26
Degree of polynomial: 26
Mean squared error on training data: 0.00076905
Mean squared error on test data: 19003.94822514
Degree of polynomial: 27
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Degree of polynomial: 27
Mean squared error on training data: 0.00068946
Mean squared error on test data: 2379.66219404
Degree of polynomial: 28
@@ -1564,9 +1591,9 @@ Mean squared error on training data: 0.00060705
Mean squared error on test data: 3250.17647619
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/626635268.py:73: RuntimeWarning: divide by zero encountered in log10
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/626635268.py:73: RuntimeWarning: divide by zero encountered in log10
plt.plot(polynomial, np.log10(trainingerror), label=&#39;Training Error&#39;)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/626635268.py:74: RuntimeWarning: divide by zero encountered in log10
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/626635268.py:74: RuntimeWarning: divide by zero encountered in log10
plt.plot(polynomial, np.log10(testerror), label=&#39;Test Error&#39;)
</pre></div>
</div>
@@ -1800,7 +1827,7 @@ cross-validation (LOOCV).</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3817475779.py:63: RuntimeWarning: divide by zero encountered in log10
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3817475779.py:63: RuntimeWarning: divide by zero encountered in log10
plt.plot(polynomial, np.log10(estimated_mse_sklearn), label=&#39;Test Error&#39;)
</pre></div>
</div>
@@ -2689,9 +2716,9 @@ linear system as an equation would reduce this down to
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/4162706317.py:6: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/4162706317.py:6: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
cb = fig.colorbar(im)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/4162706317.py:7: UserWarning: FixedFormatter should only be used together with FixedLocator
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/4162706317.py:7: UserWarning: FixedFormatter should only be used together with FixedLocator
cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)
</pre></div>
</div>
@@ -2835,9 +2862,9 @@ with the form utilized in linear regression, viz.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3777801602.py:6: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3777801602.py:6: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
cb = fig.colorbar(im)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3777801602.py:7: UserWarning: FixedFormatter should only be used together with FixedLocator
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3777801602.py:7: UserWarning: FixedFormatter should only be used together with FixedLocator
cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)
</pre></div>
</div>
@@ -2877,9 +2904,9 @@ cost function is given by</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/438060758.py:9: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/438060758.py:9: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
cb = fig.colorbar(im)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/438060758.py:10: UserWarning: FixedFormatter should only be used together with FixedLocator
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/438060758.py:10: UserWarning: FixedFormatter should only be used together with FixedLocator
cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)
</pre></div>
</div>
@@ -2914,9 +2941,9 @@ cost function is given by</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3544313922.py:8: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3544313922.py:8: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
cb = fig.colorbar(im)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3544313922.py:9: UserWarning: FixedFormatter should only be used together with FixedLocator
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3544313922.py:9: UserWarning: FixedFormatter should only be used together with FixedLocator
cb.ax.set_yticklabels(cb.ax.get_yticklabels(), fontsize=18)
</pre></div>
</div>
@@ -2969,43 +2996,43 @@ constant as opposed to ridge and OLS. We get a sparse solution with
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 0%| | 0/10 [00:00&lt;?, ?it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 0%| | 0/10 [00:00&lt;?, ?it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/sklearn/linear_model/_coordinate_descent.py:647: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.924e+00, tolerance: 1.797e+00
model = cd_fast.enet_coordinate_descent(
10%|███████████ | 1/10 [00:00&lt;00:06, 1.50it/s]
10%|██████████████▋ | 1/10 [00:00&lt;00:05, 1.53it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 20%|███████████████████████ | 2/10 [00:01&lt;00:04, 1.83it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 20%|█████████████████████████████▍ | 2/10 [00:00&lt;00:03, 2.15it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 30%|███████████████████████████████████ | 3/10 [00:01&lt;00:02, 2.70it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 30%|████████████████████████████████████████████ | 3/10 [00:01&lt;00:02, 3.06it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 40%|███████████████████████████████████████████████ | 4/10 [00:01&lt;00:01, 3.15it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 40%|██████████████████████████████████████████████████████████▊ | 4/10 [00:01&lt;00:01, 3.41it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 50%|███████████████████████████████████████████████████████████ | 5/10 [00:01&lt;00:01, 3.60it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 50%|█████████████████████████████████████████████████████████████████████████▌ | 5/10 [00:01&lt;00:01, 4.28it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 60%|███████████████████████████████████████████████████████████████████████ | 6/10 [00:01&lt;00:01, 3.91it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 60%|████████████████████████████████████████████████████████████████████████████████████████▏ | 6/10 [00:01&lt;00:00, 5.00it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 70%|███████████████████████████████████████████████████████████████████████████████████ | 7/10 [00:02&lt;00:00, 4.65it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 70%|██████████████████████████████████████████████████████████████████████████████████████████████████████▉ | 7/10 [00:01&lt;00:00, 5.70it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 80%|███████████████████████████████████████████████████████████████████████████████████████████████ | 8/10 [00:02&lt;00:00, 5.13it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 80%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 8/10 [00:01&lt;00:00, 6.29it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 90%|███████████████████████████████████████████████████████████████████████████████████████████████████████████ | 9/10 [00:02&lt;00:00, 5.60it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 90%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 9/10 [00:02&lt;00:00, 6.85it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02&lt;00:00, 5.96it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02&lt;00:00, 7.30it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02&lt;00:00, 3.97it/s]
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02&lt;00:00, 4.68it/s]
</pre></div>
</div>
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>
@@ -3152,9 +3179,9 @@ which polynomial fits the data best.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3980313467.py:9: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3980313467.py:9: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().
ax = fig.gca(projection=&#39;3d&#39;)
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_41811/3980313467.py:37: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20614/3980313467.py:37: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
fig.colorbar(surf, shrink=0.5, aspect=5)
</pre></div>
</div>
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
+35 -11
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -1345,17 +1372,6 @@ converge. So, welcome to the promised land of quadratic programming.</p>
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
<span class="ne">ModuleNotFoundError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="nn">Input In [4],</span> in <span class="ni">&lt;cell line: 2&gt;</span><span class="nt">()</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="kn">import</span> <span class="nn">numpy</span>
<span class="ne">----&gt; </span><span class="mi">2</span> <span class="kn">import</span> <span class="nn">cvxopt</span>
<span class="ne">ModuleNotFoundError</span>: No module named &#39;cvxopt&#39;
</pre></div>
</div>
</div>
</div>
<p>This will make our life much easier. You dont need t write your own optimizer.</p>
<p>We remind ourselves about the general problem we want to solve</p>
@@ -1419,6 +1435,14 @@ sol[primal objective]
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span> Input In [5]
P = matrix(numpy.diag([1,0]), tc=d)
^
SyntaxError: invalid character &#39;&#39; (U+2019)
</pre></div>
</div>
</div>
</div>
<p>We are now ready to return to our setup of the optmization problem for a more realistic case. Introducing the <strong>slack</strong> parameter <span class="math notranslate nohighlight">\(C\)</span> we have</p>
<div class="math notranslate nohighlight">
+177 -12
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -688,9 +715,9 @@ predicting the target features of query instances is as follows:</p>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>2nd degree coefficients:
zero power: 0.18790439176058887
first power: -0.014599964106338128
second power: 0.00010403373827253124
zero power: -4.653578701904388
first power: 0.17297886491529482
second power: -0.0007790285013223805
</pre></div>
</div>
<img alt="_images/chapter6_1_1.png" src="_images/chapter6_1_1.png" />
@@ -923,16 +950,102 @@ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}.
</div>
</div>
<div class="cell_output docutils container">
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
<span class="ne">ModuleNotFoundError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="nn">Input In [2],</span> in <span class="ni">&lt;cell line: 9&gt;</span><span class="nt">()</span>
<span class="g g-Whitespace"> </span><span class="mi">6</span> <span class="kn">from</span> <span class="nn">sklearn.tree</span> <span class="kn">import</span> <span class="n">export_graphviz</span>
<span class="g g-Whitespace"> </span><span class="mi">8</span> <span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">Image</span>
<span class="ne">----&gt; </span><span class="mi">9</span> <span class="kn">from</span> <span class="nn">pydot</span> <span class="kn">import</span> <span class="n">graph_from_dot_data</span>
<span class="g g-Whitespace"> </span><span class="mi">10</span> <span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="g g-Whitespace"> </span><span class="mi">11</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> mean radius mean texture mean perimeter mean area mean smoothness \
0 17.99 10.38 122.80 1001.0 0.11840
1 20.57 17.77 132.90 1326.0 0.08474
2 19.69 21.25 130.00 1203.0 0.10960
3 11.42 20.38 77.58 386.1 0.14250
4 20.29 14.34 135.10 1297.0 0.10030
.. ... ... ... ... ...
564 21.56 22.39 142.00 1479.0 0.11100
565 20.13 28.25 131.20 1261.0 0.09780
566 16.60 28.08 108.30 858.1 0.08455
567 20.60 29.33 140.10 1265.0 0.11780
568 7.76 24.54 47.92 181.0 0.05263
<span class="ne">ModuleNotFoundError</span>: No module named &#39;pydot&#39;
mean compactness mean concavity mean concave points mean symmetry \
0 0.27760 0.30010 0.14710 0.2419
1 0.07864 0.08690 0.07017 0.1812
2 0.15990 0.19740 0.12790 0.2069
3 0.28390 0.24140 0.10520 0.2597
4 0.13280 0.19800 0.10430 0.1809
.. ... ... ... ...
564 0.11590 0.24390 0.13890 0.1726
565 0.10340 0.14400 0.09791 0.1752
566 0.10230 0.09251 0.05302 0.1590
567 0.27700 0.35140 0.15200 0.2397
568 0.04362 0.00000 0.00000 0.1587
mean fractal dimension ... worst radius worst texture \
0 0.07871 ... 25.380 17.33
1 0.05667 ... 24.990 23.41
2 0.05999 ... 23.570 25.53
3 0.09744 ... 14.910 26.50
4 0.05883 ... 22.540 16.67
.. ... ... ... ...
564 0.05623 ... 25.450 26.40
565 0.05533 ... 23.690 38.25
566 0.05648 ... 18.980 34.12
567 0.07016 ... 25.740 39.42
568 0.05884 ... 9.456 30.37
worst perimeter worst area worst smoothness worst compactness \
0 184.60 2019.0 0.16220 0.66560
1 158.80 1956.0 0.12380 0.18660
2 152.50 1709.0 0.14440 0.42450
3 98.87 567.7 0.20980 0.86630
4 152.20 1575.0 0.13740 0.20500
.. ... ... ... ...
564 166.10 2027.0 0.14100 0.21130
565 155.00 1731.0 0.11660 0.19220
566 126.70 1124.0 0.11390 0.30940
567 184.60 1821.0 0.16500 0.86810
568 59.16 268.6 0.08996 0.06444
worst concavity worst concave points worst symmetry \
0 0.7119 0.2654 0.4601
1 0.2416 0.1860 0.2750
2 0.4504 0.2430 0.3613
3 0.6869 0.2575 0.6638
4 0.4000 0.1625 0.2364
.. ... ... ...
564 0.4107 0.2216 0.2060
565 0.3215 0.1628 0.2572
566 0.3403 0.1418 0.2218
567 0.9387 0.2650 0.4087
568 0.0000 0.0000 0.2871
worst fractal dimension
0 0.11890
1 0.08902
2 0.08758
3 0.17300
4 0.07678
.. ...
564 0.07115
565 0.06637
566 0.07820
567 0.12400
568 0.07039
[569 rows x 30 columns]
malignant benign
0 1 0
1 1 0
2 1 0
3 1 0
4 1 0
.. ... ...
564 1 0
565 1 0
566 1 0
567 1 0
568 0 1
[569 rows x 2 columns]
</pre></div>
</div>
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0
</pre></div>
</div>
</div>
@@ -966,6 +1079,11 @@ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}.
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0
</pre></div>
</div>
</div>
</div>
</div>
<div class="section" id="other-ways-of-visualizing-the-trees">
@@ -983,6 +1101,28 @@ s = -\sum_{k=1}^K p_{mk}\log{p_{mk}}.
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[Text(0.5, 0.9166666666666666, &#39;X[2] &lt;= 2.45\ngini = 0.667\nsamples = 150\nvalue = [50, 50, 50]&#39;),
Text(0.4230769230769231, 0.75, &#39;gini = 0.0\nsamples = 50\nvalue = [50, 0, 0]&#39;),
Text(0.5769230769230769, 0.75, &#39;X[3] &lt;= 1.75\ngini = 0.5\nsamples = 100\nvalue = [0, 50, 50]&#39;),
Text(0.3076923076923077, 0.5833333333333334, &#39;X[2] &lt;= 4.95\ngini = 0.168\nsamples = 54\nvalue = [0, 49, 5]&#39;),
Text(0.15384615384615385, 0.4166666666666667, &#39;X[3] &lt;= 1.65\ngini = 0.041\nsamples = 48\nvalue = [0, 47, 1]&#39;),
Text(0.07692307692307693, 0.25, &#39;gini = 0.0\nsamples = 47\nvalue = [0, 47, 0]&#39;),
Text(0.23076923076923078, 0.25, &#39;gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]&#39;),
Text(0.46153846153846156, 0.4166666666666667, &#39;X[3] &lt;= 1.55\ngini = 0.444\nsamples = 6\nvalue = [0, 2, 4]&#39;),
Text(0.38461538461538464, 0.25, &#39;gini = 0.0\nsamples = 3\nvalue = [0, 0, 3]&#39;),
Text(0.5384615384615384, 0.25, &#39;X[2] &lt;= 5.45\ngini = 0.444\nsamples = 3\nvalue = [0, 2, 1]&#39;),
Text(0.46153846153846156, 0.08333333333333333, &#39;gini = 0.0\nsamples = 2\nvalue = [0, 2, 0]&#39;),
Text(0.6153846153846154, 0.08333333333333333, &#39;gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]&#39;),
Text(0.8461538461538461, 0.5833333333333334, &#39;X[2] &lt;= 4.85\ngini = 0.043\nsamples = 46\nvalue = [0, 1, 45]&#39;),
Text(0.7692307692307693, 0.4166666666666667, &#39;X[1] &lt;= 3.1\ngini = 0.444\nsamples = 3\nvalue = [0, 1, 2]&#39;),
Text(0.6923076923076923, 0.25, &#39;gini = 0.0\nsamples = 2\nvalue = [0, 0, 2]&#39;),
Text(0.8461538461538461, 0.25, &#39;gini = 0.0\nsamples = 1\nvalue = [0, 1, 0]&#39;),
Text(0.9230769230769231, 0.4166666666666667, &#39;gini = 0.0\nsamples = 43\nvalue = [0, 0, 43]&#39;)]
</pre></div>
</div>
<img alt="_images/chapter6_24_1.png" src="_images/chapter6_24_1.png" />
</div>
</div>
<p>Alternatively, the tree can also be exported in textual format with the function exporttext.
This method doesnt require the installation of external libraries and is more compact:</p>
@@ -999,6 +1139,17 @@ This method doesnt require the installation of external libraries and is more
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>|--- petal width (cm) &lt;= 0.80
| |--- class: 0
|--- petal width (cm) &gt; 0.80
| |--- petal width (cm) &lt;= 1.75
| | |--- class: 1
| |--- petal width (cm) &gt; 1.75
| | |--- class: 2
</pre></div>
</div>
</div>
</div>
</div>
</div>
@@ -1163,6 +1314,20 @@ humidity and weak and strong for wind.</p>
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
<span class="ne">FileNotFoundError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="nn">Input In [6],</span> in <span class="ni">&lt;cell line: 37&gt;</span><span class="nt">()</span>
<span class="g g-Whitespace"> </span><span class="mi">34</span> <span class="k">def</span> <span class="nf">save_fig</span><span class="p">(</span><span class="n">fig_id</span><span class="p">):</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">image_path</span><span class="p">(</span><span class="n">fig_id</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.png&quot;</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s1">&#39;png&#39;</span><span class="p">)</span>
<span class="ne">---&gt; </span><span class="mi">37</span> <span class="n">infile</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">data_path</span><span class="p">(</span><span class="s2">&quot;rideclass.csv&quot;</span><span class="p">),</span><span class="s1">&#39;r&#39;</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">39</span> <span class="c1"># Read the experimental data with Pandas</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">display</span>
<span class="ne">FileNotFoundError</span>: [Errno 2] No such file or directory: &#39;DataFiles/rideclass.csv&#39;
</pre></div>
</div>
</div>
</div>
<p>The above functions (gini, entropy and misclassification error) are
important components of the so-called CART algorithm. We will discuss
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
+97 -70
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -642,10 +669,10 @@ covariance matrix through the <strong>np.linalg.eig()</strong> function.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.046785461905835435
4.240670854503034
[[0.94986593 2.88137798]
[2.88137798 9.93586895]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.264540221699101
4.673457751724773
[[0.83632853 2.54078623]
[2.54078623 8.44021223]]
</pre></div>
</div>
</div>
@@ -685,10 +712,10 @@ a more brute force way. Here we scale the mean values for each column of the des
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.08271198519070039
1.7306310662842432
[[1. 0.58084359]
[0.58084359 1. ]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.08374032367704139
1.7696835316227453
[[1. 0.66443521]
[0.66443521 1. ]]
</pre></div>
</div>
</div>
@@ -717,30 +744,30 @@ this matrix we easily see that it is a positive definite matrix.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[-0.50488131 -2.2493023 ]
[-0.26115367 -1.92631966]
[-1.43556723 -2.99992698]
[ 0.64528459 2.57643113]
[-0.55273102 -2.09964817]
[ 0.31681097 1.26466619]
[-0.04673082 -0.56607416]
[ 1.53394148 5.38629412]
[ 0.15092012 -0.22014758]
[ 0.15410688 0.83402742]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[ 1.20708879 4.33201844]
[-0.3838783 -1.24125217]
[ 0.74722409 1.60194224]
[-0.04086326 0.37419664]
[ 0.62422045 2.05587489]
[ 1.75357263 5.63710438]
[-2.53968309 -7.28219089]
[-1.42054337 -4.90629812]
[-0.13019959 -0.83320794]
[ 0.18306165 0.26181254]]
0 1
0 -0.504881 -2.249302
1 -0.261154 -1.926320
2 -1.435567 -2.999927
3 0.645285 2.576431
4 -0.552731 -2.099648
5 0.316811 1.264666
6 -0.046731 -0.566074
7 1.533941 5.386294
8 0.150920 -0.220148
9 0.154107 0.834027
0 1
0 1.00000 0.95302
1 0.95302 1.00000
0 1.207089 4.332018
1 -0.383878 -1.241252
2 0.747224 1.601942
3 -0.040863 0.374197
4 0.624220 2.055875
5 1.753573 5.637104
6 -2.539683 -7.282191
7 -1.420543 -4.906298
8 -0.130200 -0.833208
9 0.183062 0.261813
0 1
0 1.000000 0.992504
1 0.992504 1.000000
</pre></div>
</div>
</div>
@@ -797,37 +824,37 @@ this matrix we easily see that it is a positive definite matrix.</p>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 0 1 2 3 4 5 6 7 \
0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1 0.0 0.088104 0.081216 0.088760 0.086997 0.085010 0.080343 0.079306
2 0.0 0.081216 0.075612 0.080764 0.079618 0.078300 0.072530 0.071897
3 0.0 0.088760 0.080764 0.094925 0.092249 0.089310 0.089233 0.087615
4 0.0 0.086997 0.079618 0.092249 0.089982 0.087470 0.086257 0.084927
5 0.0 0.085010 0.078300 0.089310 0.087470 0.085410 0.083021 0.081989
6 0.0 0.080343 0.072530 0.089233 0.086257 0.083021 0.086109 0.084269
7 0.0 0.079306 0.071897 0.087615 0.084927 0.081989 0.084269 0.082642
8 0.0 0.078323 0.071329 0.086021 0.083629 0.080998 0.082431 0.081022
9 0.0 0.077372 0.070810 0.084426 0.082339 0.080026 0.080571 0.079383
10 0.0 0.071946 0.064637 0.081990 0.079001 0.075770 0.080642 0.078768
11 0.0 0.071044 0.064041 0.080699 0.077930 0.074922 0.079218 0.077511
12 0.0 0.070222 0.063524 0.079476 0.076927 0.074144 0.077846 0.076306
13 0.0 0.069475 0.063084 0.078314 0.075987 0.073433 0.076518 0.075145
14 0.0 0.068799 0.062719 0.077203 0.075102 0.072783 0.075222 0.074019
1 0.0 0.092290 0.091376 0.091772 0.091659 0.091579 0.083691 0.083321
2 0.0 0.091376 0.091209 0.090620 0.090923 0.091266 0.082166 0.082105
3 0.0 0.091772 0.090620 0.098069 0.097435 0.096845 0.093556 0.092724
4 0.0 0.091659 0.090923 0.097435 0.097111 0.096833 0.092478 0.091896
5 0.0 0.091579 0.091266 0.096845 0.096833 0.096872 0.091445 0.091113
6 0.0 0.083691 0.082166 0.093556 0.092478 0.091445 0.092007 0.090828
7 0.0 0.083321 0.082105 0.092724 0.091896 0.091113 0.090828 0.089857
8 0.0 0.083051 0.082145 0.091996 0.091418 0.090888 0.089744 0.088982
9 0.0 0.082877 0.082285 0.091369 0.091044 0.090768 0.088754 0.088201
10 0.0 0.075829 0.073985 0.087419 0.086021 0.084663 0.087860 0.086440
11 0.0 0.075277 0.073684 0.086460 0.085272 0.084124 0.086624 0.085384
12 0.0 0.074819 0.073477 0.085603 0.084624 0.083685 0.085484 0.084422
13 0.0 0.074453 0.073363 0.084846 0.084076 0.083348 0.084438 0.083555
14 0.0 0.074180 0.073344 0.084187 0.083627 0.083111 0.083485 0.082779
8 9 10 11 12 13 14
0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
1 0.078323 0.077372 0.071946 0.071044 0.070222 0.069475 0.068799
2 0.071329 0.070810 0.064637 0.064041 0.063524 0.063084 0.062719
3 0.086021 0.084426 0.081990 0.080699 0.079476 0.078314 0.077203
4 0.083629 0.082339 0.079001 0.077930 0.076927 0.075987 0.075102
5 0.080998 0.080026 0.075770 0.074922 0.074144 0.073433 0.072783
6 0.082431 0.080571 0.080642 0.079218 0.077846 0.076518 0.075222
7 0.081022 0.079383 0.078768 0.077511 0.076306 0.075145 0.074019
8 0.079622 0.078211 0.076886 0.075797 0.074760 0.073768 0.072813
9 0.078211 0.077033 0.074969 0.074050 0.073183 0.072364 0.071585
10 0.076886 0.074969 0.076632 0.075201 0.073811 0.072452 0.071115
11 0.075797 0.074050 0.075201 0.073904 0.072647 0.071421 0.070216
12 0.074760 0.073183 0.073811 0.072647 0.071523 0.070428 0.069355
13 0.073768 0.072364 0.072452 0.071421 0.070428 0.069465 0.068525
14 0.072813 0.071585 0.071115 0.070216 0.069355 0.068525 0.067719
1 0.083051 0.082877 0.075829 0.075277 0.074819 0.074453 0.074180
2 0.082145 0.082285 0.073985 0.073684 0.073477 0.073363 0.073344
3 0.091996 0.091369 0.087419 0.086460 0.085603 0.084846 0.084187
4 0.091418 0.091044 0.086021 0.085272 0.084624 0.084076 0.083627
5 0.090888 0.090768 0.084663 0.084124 0.083685 0.083348 0.083111
6 0.089744 0.088754 0.087860 0.086624 0.085484 0.084438 0.083485
7 0.088982 0.088201 0.086440 0.085384 0.084422 0.083555 0.082779
8 0.088317 0.087746 0.085108 0.084230 0.083446 0.082756 0.082158
9 0.087746 0.087386 0.083859 0.083159 0.082553 0.082040 0.081620
10 0.085108 0.083859 0.085252 0.083832 0.082501 0.081258 0.080098
11 0.084230 0.083159 0.083832 0.082569 0.081395 0.080305 0.079298
12 0.083446 0.082553 0.082501 0.081395 0.080374 0.079437 0.078582
13 0.082756 0.082040 0.081258 0.080305 0.079437 0.078652 0.077949
14 0.082158 0.081620 0.080098 0.079298 0.078582 0.077949 0.077397
</pre></div>
</div>
</div>
@@ -1016,10 +1043,10 @@ We can write our own code or simply use either the functionaly of <strong>numpy<
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span> 0 1
0 3.967536 1.983164
1 1.983164 2.000755
[[3.9675364 1.98316352]
[1.98316352 2.00075534]]
0 3.956454 1.972286
1 1.972286 1.977089
[[3.95645365 1.97228638]
[1.97228638 1.97708897]]
</pre></div>
</div>
</div>
@@ -1046,8 +1073,8 @@ Our own code here is not very elegant and asks for obvious improvements. It is t
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Centered covariance using own code
[[3.9675364 1.98316352]
[1.98316352 2.00075534]]
[[3.95645365 1.97228638]
[1.97228638 1.97708897]]
</pre></div>
</div>
<img alt="_images/chapter8_65_1.png" src="_images/chapter8_65_1.png" />
@@ -1107,16 +1134,16 @@ questions.</p>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Eigenvalues of Covariance matrix
5.197738983259782
0.7705527590466072
5.173439546289586
0.7601030735620569
First eigenvector
[0.84977962 0.52713812]
[0.85102768 0.52512084]
Second eigenvector
[-0.52713812 0.84977962]
[-0.52512084 0.85102768]
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Eigenvector of largest eigenvalue
[-0.84977962 -0.52713812]
[-0.85102768 -0.52512084]
</pre></div>
</div>
</div>
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -938,11 +965,11 @@ which equals</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_9414/483257001.py:18: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20669/483257001.py:18: MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or plt.subplot().
ax = fig.gca(projection=&quot;3d&quot;)
</pre></div>
</div>
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&lt;mpl_toolkits.mplot3d.art3d.Poly3DCollection at 0x13b240850&gt;
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>&lt;mpl_toolkits.mplot3d.art3d.Poly3DCollection at 0x1336a6040&gt;
</pre></div>
</div>
<img alt="_images/chapteroptimization_61_2.png" src="_images/chapteroptimization_61_2.png" />
@@ -1000,7 +1027,7 @@ which equals</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[&lt;matplotlib.lines.Line2D at 0x13b8c72e0&gt;]
<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[&lt;matplotlib.lines.Line2D at 0x133c2e1c0&gt;]
</pre></div>
</div>
<img alt="_images/chapteroptimization_69_1.png" src="_images/chapteroptimization_69_1.png" />
@@ -1257,11 +1284,11 @@ when <span class="math notranslate nohighlight">\(||\nabla_\beta C(\beta_k) || \
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[0.25881631 4.66111673]
[[4.01840062]
[2.89545727]]
[[4.01840062]
[2.89545727]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[0.29972182 4.52744746]
[[4.01247056]
[2.97656972]]
[[4.01247056]
[2.97656972]]
</pre></div>
</div>
<img alt="_images/chapteroptimization_123_1.png" src="_images/chapteroptimization_123_1.png" />
@@ -1290,9 +1317,9 @@ when <span class="math notranslate nohighlight">\(||\nabla_\beta C(\beta_k) || \
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[3.79441434]
[3.07608141]]
[3.80994952] [3.12302855]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[4.02158709]
[2.93023603]]
[4.00882596] [2.93522293]
</pre></div>
</div>
</div>
@@ -1363,10 +1390,10 @@ C_{\text{ridge}}(\beta) = \frac{1}{n}||X\beta -\mathbf{y}||^2 + \lambda ||\beta|
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[3.78596961]
[3.12387751]]
[[3.71441535]
[3.17942122]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[4.09781386]
[2.97980332]]
[[4.0527437 ]
[3.01510929]]
</pre></div>
</div>
<img alt="_images/chapteroptimization_132_1.png" src="_images/chapteroptimization_132_1.png" />
@@ -1616,15 +1643,15 @@ function.</p>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Own inversion
[[4.42130182]
[2.83757843]]
Eigenvalues of Hessian Matrix:[0.27660123 4.17938393]
[[3.87618586]
[3.13847924]]
Eigenvalues of Hessian Matrix:[0.3313155 4.62759057]
theta from own gd
[[4.42130182]
[2.83757843]]
[[3.87618586]
[3.13847924]]
theta from own sdg
[[4.44198566]
[2.79512696]]
[[3.87379129]
[3.15508406]]
</pre></div>
</div>
<img alt="_images/chapteroptimization_148_1.png" src="_images/chapteroptimization_148_1.png" />
+147 -8
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -492,8 +519,12 @@ Gaussian distribution.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lib/__init__.py:32: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.
warnings.warn(&quot;JAX on Mac ARM machines is experimental and minimally tested. &quot;
</pre></div>
</div>
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
<span class="ne">ModuleNotFoundError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="ne">AttributeError</span><span class="g g-Whitespace"> </span>Traceback (most recent call last)
<span class="nn">Input In [1],</span> in <span class="ni">&lt;cell line: 5&gt;</span><span class="nt">()</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="kn">import</span> <span class="nn">time</span>
<span class="g g-Whitespace"> </span><span class="mi">4</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
@@ -581,14 +612,122 @@ Gaussian distribution.</p>
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="kn">from</span> <span class="nn">tensorflow.lite.python</span> <span class="kn">import</span> <span class="n">wrap_toco</span>
<span class="g g-Whitespace"> </span><span class="mi">31</span> <span class="kn">from</span> <span class="nn">tensorflow.lite.python.convert_phase</span> <span class="kn">import</span> <span class="n">Component</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">tensorflow</span><span class="o">/</span><span class="n">lite</span><span class="o">/</span><span class="n">python</span><span class="o">/</span><span class="n">util</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">26</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="kn">import</span> <span class="nn">six</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="kn">from</span> <span class="nn">six.moves</span> <span class="kn">import</span> <span class="nb">range</span>
<span class="ne">---&gt; </span><span class="mi">26</span> <span class="kn">import</span> <span class="nn">flatbuffers</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="kn">from</span> <span class="nn">tensorflow.core.protobuf</span> <span class="kn">import</span> <span class="n">config_pb2</span> <span class="k">as</span> <span class="n">_config_pb2</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="kn">from</span> <span class="nn">tensorflow.core.protobuf</span> <span class="kn">import</span> <span class="n">graph_debug_info_pb2</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">tensorflow</span><span class="o">/</span><span class="n">lite</span><span class="o">/</span><span class="n">python</span><span class="o">/</span><span class="n">util</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">51</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">47</span> <span class="c1"># Jax functions used by TFLite</span>
<span class="g g-Whitespace"> </span><span class="mi">48</span> <span class="c1"># pylint: disable=g-import-not-at-top</span>
<span class="g g-Whitespace"> </span><span class="mi">49</span> <span class="c1"># pylint: disable=unused-import</span>
<span class="g g-Whitespace"> </span><span class="mi">50</span> <span class="k">try</span><span class="p">:</span>
<span class="ne">---&gt; </span><span class="mi">51</span> <span class="kn">from</span> <span class="nn">jax</span> <span class="kn">import</span> <span class="n">xla_computation</span> <span class="k">as</span> <span class="n">_xla_computation</span>
<span class="g g-Whitespace"> </span><span class="mi">52</span> <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="g g-Whitespace"> </span><span class="mi">53</span> <span class="n">_xla_computation</span> <span class="o">=</span> <span class="kc">None</span>
<span class="ne">ModuleNotFoundError</span>: No module named &#39;flatbuffers&#39;
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">116</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="kn">from</span> <span class="nn">._src.config</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">41</span> <span class="n">config</span> <span class="k">as</span> <span class="n">config</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">42</span> <span class="n">enable_checks</span> <span class="k">as</span> <span class="n">enable_checks</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">51</span> <span class="n">numpy_rank_promotion</span> <span class="k">as</span> <span class="n">numpy_rank_promotion</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">52</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">53</span> <span class="kn">from</span> <span class="nn">._src.api</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">54</span> <span class="n">ad</span><span class="p">,</span> <span class="c1"># TODO(phawkins): update users to avoid this.</span>
<span class="g g-Whitespace"> </span><span class="mi">55</span> <span class="n">checkpoint</span> <span class="k">as</span> <span class="n">checkpoint</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">114</span> <span class="n">xla_computation</span> <span class="k">as</span> <span class="n">xla_computation</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">115</span> <span class="p">)</span>
<span class="ne">--&gt; </span><span class="mi">116</span> <span class="kn">from</span> <span class="nn">.experimental.maps</span> <span class="kn">import</span> <span class="n">soft_pmap</span> <span class="k">as</span> <span class="n">soft_pmap</span>
<span class="g g-Whitespace"> </span><span class="mi">117</span> <span class="kn">from</span> <span class="nn">.version</span> <span class="kn">import</span> <span class="n">__version__</span> <span class="k">as</span> <span class="n">__version__</span>
<span class="g g-Whitespace"> </span><span class="mi">119</span> <span class="c1"># These submodules are separate because they are in an import cycle with</span>
<span class="g g-Whitespace"> </span><span class="mi">120</span> <span class="c1"># jax and rely on the names imported above.</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">experimental</span><span class="o">/</span><span class="n">maps</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">26</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">wraps</span><span class="p">,</span> <span class="n">partial</span><span class="p">,</span> <span class="n">partialmethod</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span>
<span class="ne">---&gt; </span><span class="mi">26</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">numpy</span> <span class="k">as</span> <span class="n">jnp</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">core</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="kn">from</span> <span class="nn">..</span> <span class="kn">import</span> <span class="n">linear_util</span> <span class="k">as</span> <span class="n">lu</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">19</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="c1"># Copyright 2018 Google LLC</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="c1">#</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">17</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="c1"># flake8: noqa: F401</span>
<span class="ne">---&gt; </span><span class="mi">19</span> <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">linalg</span> <span class="k">as</span> <span class="n">linalg</span>
<span class="g g-Whitespace"> </span><span class="mi">22</span> <span class="kn">from</span> <span class="nn">jax.interpreters.xla</span> <span class="kn">import</span> <span class="n">DeviceArray</span> <span class="k">as</span> <span class="n">DeviceArray</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">17</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">1</span> <span class="c1"># Copyright 2020 Google LLC</span>
<span class="g g-Whitespace"> </span><span class="mi">2</span> <span class="c1">#</span>
<span class="g g-Whitespace"> </span><span class="mi">3</span> <span class="c1"># Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">14</span>
<span class="g g-Whitespace"> </span><span class="mi">15</span> <span class="c1"># flake8: noqa: F401</span>
<span class="ne">---&gt; </span><span class="mi">17</span> <span class="kn">from</span> <span class="nn">jax._src.numpy.fft</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">18</span> <span class="n">ifft</span> <span class="k">as</span> <span class="n">ifft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">19</span> <span class="n">ifft2</span> <span class="k">as</span> <span class="n">ifft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="n">ifftn</span> <span class="k">as</span> <span class="n">ifftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">21</span> <span class="n">ifftshift</span> <span class="k">as</span> <span class="n">ifftshift</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">22</span> <span class="n">ihfft</span> <span class="k">as</span> <span class="n">ihfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">23</span> <span class="n">irfft</span> <span class="k">as</span> <span class="n">irfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">24</span> <span class="n">irfft2</span> <span class="k">as</span> <span class="n">irfft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">25</span> <span class="n">irfftn</span> <span class="k">as</span> <span class="n">irfftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">26</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">27</span> <span class="n">fft2</span> <span class="k">as</span> <span class="n">fft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">28</span> <span class="n">fftfreq</span> <span class="k">as</span> <span class="n">fftfreq</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">29</span> <span class="n">fftn</span> <span class="k">as</span> <span class="n">fftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">30</span> <span class="n">fftshift</span> <span class="k">as</span> <span class="n">fftshift</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">31</span> <span class="n">hfft</span> <span class="k">as</span> <span class="n">hfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">32</span> <span class="n">rfft</span> <span class="k">as</span> <span class="n">rfft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">33</span> <span class="n">rfft2</span> <span class="k">as</span> <span class="n">rfft2</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">34</span> <span class="n">rfftfreq</span> <span class="k">as</span> <span class="n">rfftfreq</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">35</span> <span class="n">rfftn</span> <span class="k">as</span> <span class="n">rfftn</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">36</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">38</span> <span class="c1"># Module initialization is encapsulated in a function to avoid accidental</span>
<span class="g g-Whitespace"> </span><span class="mi">39</span> <span class="c1"># namespace pollution.</span>
<span class="g g-Whitespace"> </span><span class="mi">40</span> <span class="n">_NOT_IMPLEMENTED</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">_src</span><span class="o">/</span><span class="n">numpy</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">19</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">16</span> <span class="kn">import</span> <span class="nn">operator</span>
<span class="g g-Whitespace"> </span><span class="mi">17</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="ne">---&gt; </span><span class="mi">19</span> <span class="kn">from</span> <span class="nn">jax</span> <span class="kn">import</span> <span class="n">lax</span>
<span class="g g-Whitespace"> </span><span class="mi">20</span> <span class="kn">from</span> <span class="nn">jax._src.lib</span> <span class="kn">import</span> <span class="n">xla_client</span>
<span class="g g-Whitespace"> </span><span class="mi">21</span> <span class="kn">from</span> <span class="nn">jax._src.util</span> <span class="kn">import</span> <span class="n">safe_zip</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">lax</span><span class="o">/</span><span class="fm">__init__</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">332</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">299</span> <span class="kn">from</span> <span class="nn">jax._src.lax.lax</span> <span class="kn">import</span> <span class="p">(</span><span class="n">_reduce_sum</span><span class="p">,</span> <span class="n">_reduce_max</span><span class="p">,</span> <span class="n">_reduce_min</span><span class="p">,</span> <span class="n">_reduce_or</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">300</span> <span class="n">_reduce_and</span><span class="p">,</span> <span class="n">_reduce_window_sum</span><span class="p">,</span> <span class="n">_reduce_window_max</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">301</span> <span class="n">_reduce_window_min</span><span class="p">,</span> <span class="n">_reduce_window_prod</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">306</span> <span class="n">_upcast_fp16_for_computation</span><span class="p">,</span> <span class="n">_broadcasting_shape_rule</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">307</span> <span class="n">_eye</span><span class="p">,</span> <span class="n">_tri</span><span class="p">,</span> <span class="n">_delta</span><span class="p">,</span> <span class="n">_ones</span><span class="p">,</span> <span class="n">_zeros</span><span class="p">,</span> <span class="n">_dilate_shape</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">308</span> <span class="kn">from</span> <span class="nn">jax._src.lax.control_flow</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">309</span> <span class="n">associative_scan</span> <span class="k">as</span> <span class="n">associative_scan</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">310</span> <span class="n">cond</span> <span class="k">as</span> <span class="n">cond</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">330</span> <span class="n">while_p</span> <span class="k">as</span> <span class="n">while_p</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">331</span> <span class="p">)</span>
<span class="ne">--&gt; </span><span class="mi">332</span> <span class="kn">from</span> <span class="nn">jax._src.lax.fft</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">333</span> <span class="n">fft</span> <span class="k">as</span> <span class="n">fft</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">334</span> <span class="n">fft_p</span> <span class="k">as</span> <span class="n">fft_p</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">335</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">336</span> <span class="kn">from</span> <span class="nn">jax._src.lax.parallel</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">337</span> <span class="n">all_gather</span> <span class="k">as</span> <span class="n">all_gather</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">338</span> <span class="n">all_to_all</span> <span class="k">as</span> <span class="n">all_to_all</span><span class="p">,</span>
<span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">355</span> <span class="n">xeinsum</span> <span class="k">as</span> <span class="n">xeinsum</span><span class="p">,</span>
<span class="g g-Whitespace"> </span><span class="mi">356</span> <span class="p">)</span>
<span class="g g-Whitespace"> </span><span class="mi">357</span> <span class="kn">from</span> <span class="nn">jax._src.lax.other</span> <span class="kn">import</span> <span class="p">(</span>
<span class="g g-Whitespace"> </span><span class="mi">358</span> <span class="n">conv_general_dilated_patches</span> <span class="k">as</span> <span class="n">conv_general_dilated_patches</span>
<span class="g g-Whitespace"> </span><span class="mi">359</span> <span class="p">)</span>
<span class="n">File</span> <span class="o">~/</span><span class="n">miniforge3</span><span class="o">/</span><span class="n">envs</span><span class="o">/</span><span class="n">myenv</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="mf">.9</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="n">jax</span><span class="o">/</span><span class="n">_src</span><span class="o">/</span><span class="n">lax</span><span class="o">/</span><span class="n">fft</span><span class="o">.</span><span class="n">py</span><span class="p">:</span><span class="mi">145</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
<span class="g g-Whitespace"> </span><span class="mi">143</span> <span class="n">batching</span><span class="o">.</span><span class="n">primitive_batchers</span><span class="p">[</span><span class="n">fft_p</span><span class="p">]</span> <span class="o">=</span> <span class="n">fft_batching_rule</span>
<span class="g g-Whitespace"> </span><span class="mi">144</span> <span class="k">if</span> <span class="n">pocketfft</span><span class="p">:</span>
<span class="ne">--&gt; </span><span class="mi">145</span> <span class="n">xla</span><span class="o">.</span><span class="n">backend_specific_translations</span><span class="p">[</span><span class="s1">&#39;cpu&#39;</span><span class="p">][</span><span class="n">fft_p</span><span class="p">]</span> <span class="o">=</span> <span class="n">pocketfft</span><span class="o">.</span><span class="n">pocketfft</span>
<span class="ne">AttributeError</span>: module &#39;jaxlib.pocketfft&#39; has no attribute &#39;pocketfft&#39;
</pre></div>
</div>
</div>
@@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>19. Exercises week 34 &#8212; Applied Data Analysis and Machine Learning</title>
<title>Exercises week 34 &#8212; Applied Data Analysis and Machine Learning</title>
<link href="_static/css/theme.css" rel="stylesheet">
<link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
@@ -55,7 +55,7 @@ const thebe_selector_output = ".output, .cell_output"
<script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="20. Week 34: Introduction to the course, Logistics and Practicalities" href="week34.html" />
<link rel="next" title="Week 34: Introduction to the course, Logistics and Practicalities" href="week34.html" />
<link rel="prev" title="17. Recurrent neural networks: Overarching view" href="chapter13.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="None">
@@ -250,12 +250,22 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="current nav bd-sidenav">
<li class="toctree-l1 current active">
<a class="current reference internal" href="#">
19. Exercises week 34
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
20. Week 34: Introduction to the course, Logistics and Practicalities
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
@@ -331,22 +341,22 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercises">
19.1. Exercises
Exercises
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercise-1-setting-up-various-python-environments">
19.2. Exercise 1: Setting up various Python environments
Exercise 1: Setting up various Python environments
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercise-2-making-your-own-data-and-exploring-scikit-learn">
19.3. Exercise 2: making your own data and exploring scikit-learn
Exercise 2: making your own data and exploring scikit-learn
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercise-3-split-data-in-test-and-training-data">
19.4. Exercise 3: Split data in test and training data
Exercise 3: Split data in test and training data
</a>
</li>
</ul>
@@ -371,22 +381,22 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercises">
19.1. Exercises
Exercises
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercise-1-setting-up-various-python-environments">
19.2. Exercise 1: Setting up various Python environments
Exercise 1: Setting up various Python environments
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercise-2-making-your-own-data-and-exploring-scikit-learn">
19.3. Exercise 2: making your own data and exploring scikit-learn
Exercise 2: making your own data and exploring scikit-learn
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#exercise-3-split-data-in-test-and-training-data">
19.4. Exercise 3: Split data in test and training data
Exercise 3: Split data in test and training data
</a>
</li>
</ul>
@@ -401,15 +411,15 @@ const thebe_selector_output = ".output, .cell_output"
<!-- HTML file automatically generated from DocOnce source (https://github.com/doconce/doconce/)
doconce format html exercisesweek34.do.txt -->
<!-- dom:TITLE: Exercises week 34 --><div class="tex2jax_ignore mathjax_ignore section" id="exercises-week-34">
<h1><span class="section-number">19. </span>Exercises week 34<a class="headerlink" href="#exercises-week-34" title="Permalink to this headline"></a></h1>
<h1>Exercises week 34<a class="headerlink" href="#exercises-week-34" title="Permalink to this headline"></a></h1>
<p><strong>FYS-STK3155/4155</strong></p>
<p>Date: <strong>August 21-25, 2023</strong></p>
<div class="section" id="exercises">
<h2><span class="section-number">19.1. </span>Exercises<a class="headerlink" href="#exercises" title="Permalink to this headline"></a></h2>
<h2>Exercises<a class="headerlink" href="#exercises" title="Permalink to this headline"></a></h2>
<p>Here are three possible exercises for week 34</p>
</div>
<div class="section" id="exercise-1-setting-up-various-python-environments">
<h2><span class="section-number">19.2. </span>Exercise 1: Setting up various Python environments<a class="headerlink" href="#exercise-1-setting-up-various-python-environments" title="Permalink to this headline"></a></h2>
<h2>Exercise 1: Setting up various Python environments<a class="headerlink" href="#exercise-1-setting-up-various-python-environments" title="Permalink to this headline"></a></h2>
<p>The first exercise here is of a mere technical art. We want you to have</p>
<ul class="simple">
<li><p>git as a version control software and to establish a user account on a provider like GitHub. Other providers like GitLab etc are equally fine. You can also use the University of Oslo <a class="reference external" href="https://www.uio.no/tjenester/it/maskin/filer/versjonskontroll/github.html">GitHub facilities</a>.</p></li>
@@ -465,7 +475,7 @@ license.</p>
<p>We recommend using <strong>Anaconda</strong> if you are not too familiar with setting paths in a terminal environment.</p>
</div>
<div class="section" id="exercise-2-making-your-own-data-and-exploring-scikit-learn">
<h2><span class="section-number">19.3. </span>Exercise 2: making your own data and exploring scikit-learn<a class="headerlink" href="#exercise-2-making-your-own-data-and-exploring-scikit-learn" title="Permalink to this headline"></a></h2>
<h2>Exercise 2: making your own data and exploring scikit-learn<a class="headerlink" href="#exercise-2-making-your-own-data-and-exploring-scikit-learn" title="Permalink to this headline"></a></h2>
<p>We will generate our own dataset for a function <span class="math notranslate nohighlight">\(y(x)\)</span> where <span class="math notranslate nohighlight">\(x \in [0,1]\)</span> and defined by random numbers computed with the uniform distribution. The function <span class="math notranslate nohighlight">\(y\)</span> is a quadratic polynomial in <span class="math notranslate nohighlight">\(x\)</span> with added stochastic noise according to the normal distribution <span class="math notranslate nohighlight">\(\cal {N}(0,1)\)</span>.
The following simple Python instructions define our <span class="math notranslate nohighlight">\(x\)</span> and <span class="math notranslate nohighlight">\(y\)</span> values (with 100 data points).</p>
<div class="cell docutils container">
@@ -512,7 +522,7 @@ R^2(\boldsymbol{y}, \tilde{\boldsymbol{y}}) = 1 - \frac{\sum_{i=0}^{n - 1} (y_i
Discuss the meaning of these results. Try also to vary the coefficient in front of the added stochastic noise term and discuss the quality of the fits.</p>
</div>
<div class="section" id="exercise-3-split-data-in-test-and-training-data">
<h2><span class="section-number">19.4. </span>Exercise 3: Split data in test and training data<a class="headerlink" href="#exercise-3-split-data-in-test-and-training-data" title="Permalink to this headline"></a></h2>
<h2>Exercise 3: Split data in test and training data<a class="headerlink" href="#exercise-3-split-data-in-test-and-training-data" title="Permalink to this headline"></a></h2>
<p>In this exercise we want you to to compute the MSE for the training
data and the test data as function of the complexity of a polynomial,
that is the degree of a given polynomial.</p>
@@ -575,7 +585,7 @@ Add now a model which allows you to make polynomials up to degree <span class="m
<a class='right-next' id="next-link" href="week34.html" title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title"><span class="section-number">20. </span>Week 34: Introduction to the course, Logistics and Practicalities</p>
<p class="prev-next-title">Week 34: Introduction to the course, Logistics and Practicalities</p>
</div>
<i class="fas fa-angle-right"></i>
</a>
@@ -56,7 +56,7 @@ const thebe_selector_output = ".output, .cell_output"
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression" href="week35.html" />
<link rel="prev" title="20. Week 34: Introduction to the course, Logistics and Practicalities" href="week34.html" />
<link rel="prev" title="Week 34: Introduction to the course, Logistics and Practicalities" href="week34.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="None">
@@ -250,12 +250,12 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="current nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
19. Exercises week 34
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
20. Week 34: Introduction to the course, Logistics and Practicalities
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1 current active">
@@ -554,7 +554,7 @@ Add now a model which allows you to make polynomials up to degree <span class="m
<i class="fas fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title"><span class="section-number">20. </span>Week 34: Introduction to the course, Logistics and Practicalities</p>
<p class="prev-next-title">Week 34: Introduction to the course, Logistics and Practicalities</p>
</div>
</a>
<a class='right-next' id="next-link" href="week35.html" title="next page">
+2 -2
View File
@@ -246,12 +246,12 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
19. Exercises week 34
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
20. Week 34: Introduction to the course, Logistics and Practicalities
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
+2 -2
View File
@@ -247,12 +247,12 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
19. Exercises week 34
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
20. Week 34: Introduction to the course, Logistics and Practicalities
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
+56 -29
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -544,8 +571,8 @@ matrices and vectors.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[-1.25902112 -0.51174395 -0.29276615 1.6489862 -1.69115646 1.62620724
0.65444431 -1.35346808 -0.20316225 1.12630042]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[-0.38763091 -2.70501534 -0.3581571 -0.96251494 -1.26223899 0.35309734
2.28186376 -1.85104809 -0.37114298 -1.20893188]
</pre></div>
</div>
</div>
@@ -766,26 +793,26 @@ as (recall that we user lowercase letters for vectors and uppercase letters for
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[0.26185107 0.82454365 0.97434186 0.56556315 0.58187347 0.72509099
0.19158446 0.3263505 0.0536097 0.90066122]
[0.34678929 0.66981186 0.44152248 0.20299677 0.1614891 0.68485505
0.43333886 0.45741697 0.31311243 0.88001352]
[0.29661191 0.05268304 0.98153145 0.9007164 0.69481746 0.35319678
0.88063413 0.06319374 0.06695337 0.75350216]
[0.15089627 0.58671946 0.13734823 0.72394787 0.38019139 0.422275
0.35821426 0.49282737 0.19144544 0.84653115]
[0.38637915 0.8049181 0.49672291 0.98699753 0.8192798 0.05850532
0.00152188 0.13131825 0.31229747 0.40183706]
[0.8705211 0.1472032 0.22567203 0.55202922 0.62683307 0.41566661
0.23659936 0.85086629 0.85120833 0.79135075]
[0.31377492 0.38629844 0.33956555 0.64064128 0.42028578 0.58474054
0.71760245 0.51732028 0.31211671 0.35894575]
[0.78286771 0.72594302 0.22821344 0.23962594 0.48739546 0.59190877
0.8557822 0.44830642 0.90595152 0.9626883 ]
[0.34498451 0.90694878 0.15442554 0.43560678 0.89045167 0.21654926
0.00355118 0.18695705 0.61123608 0.7386068 ]
[0.30813073 0.26549135 0.96812218 0.94321297 0.81592628 0.60980325
0.4284066 0.8792323 0.92968793 0.82073684]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[[0.78459267 0.75453081 0.05363779 0.57350724 0.69764852 0.65795279
0.51507839 0.20461136 0.38788697 0.96496641]
[0.25028968 0.96081861 0.18931988 0.51108791 0.30337713 0.43036842
0.52839842 0.15321987 0.78561443 0.09030825]
[0.10097956 0.50584526 0.34989509 0.55626454 0.69154964 0.2895238
0.13393141 0.15503141 0.26015755 0.42902155]
[0.25789255 0.9492866 0.90252116 0.904221 0.51933924 0.14432948
0.54445121 0.02699523 0.18657863 0.971688 ]
[0.13392097 0.27801122 0.50931378 0.04234339 0.22442417 0.44065609
0.74943449 0.42451192 0.33736485 0.97952271]
[0.95824108 0.59950055 0.91346044 0.58042237 0.13228567 0.31519573
0.12427889 0.64736858 0.60236782 0.18036103]
[0.95911004 0.82027884 0.27547877 0.84317815 0.89842298 0.68322599
0.02377668 0.39943328 0.00162091 0.0525221 ]
[0.94076632 0.88335933 0.75492292 0.7860324 0.41923956 0.86181269
0.45979894 0.44190304 0.07829878 0.00458014]
[0.42915006 0.68127341 0.23875722 0.31988705 0.54956992 0.24801014
0.65335632 0.97713364 0.05635863 0.12160173]
[0.93386901 0.74935095 0.96534137 0.98400474 0.98581925 0.30313128
0.41386599 0.88450476 0.87099757 0.22566121]]
</pre></div>
</div>
</div>
@@ -845,13 +872,13 @@ covariance matrix through the <strong>np.linalg.eig()</strong> function.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>-0.2246674023625205
3.345687771875474
-0.6084611325305795
[[ 1.17709473 3.57810065 3.67258699]
[ 3.57810065 11.8548082 11.12152272]
[ 3.67258699 11.12152272 15.62249103]]
[26.06969872 0.07319349 2.51150176]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.0626202708457115
4.327883798133277
0.3178411477108273
[[ 1.01422853 3.21909039 2.82750687]
[ 3.21909039 11.42694395 9.22887861]
[ 2.82750687 9.22887861 17.2086376 ]]
[24.72855434 0.09533574 4.82592 ]
</pre></div>
</div>
</div>
@@ -240,6 +240,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
+2 -2
View File
@@ -252,12 +252,12 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
19. Exercises week 34
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
20. Week 34: Introduction to the course, Logistics and Practicalities
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
File diff suppressed because one or more lines are too long
+68 -31
View File
@@ -242,6 +242,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -916,27 +943,37 @@ uncorrelated.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>1.1297300314822336
[[ 9.30839676 15.51664729 15.66620847 8.85065653 10.38302314 7.56183518
8.50754416 10.88560514 9.76063234 3.03168642]
[15.51664729 25.86550074 26.11481199 14.75361646 17.3079975 12.6052136
14.18166474 18.1457774 16.27050214 5.05367466]
[15.66620847 26.11481199 26.3665263 14.89582298 17.47482507 12.72671218
14.31835835 18.32068012 16.42732954 5.1023858 ]
[ 8.85065653 14.75361646 14.89582298 8.41542567 9.87243817 7.18998208
8.08918584 10.35030572 9.28065343 2.8826033 ]
[10.38302314 17.3079975 17.47482507 9.87243817 11.58171189 8.43482628
9.48971452 12.14231548 10.88746795 3.38168549]
[ 7.56183518 12.6052136 12.72671218 7.18998208 8.43482628 6.14298603
6.91124889 8.84310736 7.92921648 2.46284227]
[ 8.50754416 14.18166474 14.31835835 8.08918584 9.48971452 6.91124889
7.77559332 9.94905663 8.92087142 2.77085375]
[10.88560514 18.1457774 18.32068012 10.35030572 12.14231548 8.84310736
9.94905663 12.73005463 11.41446721 3.54537329]
[ 9.76063234 16.27050214 16.42732954 9.28065343 10.88746795 7.92921648
8.92087142 11.41446721 10.23483916 3.17897671]
[ 3.03168642 5.05367466 5.1023858 2.8826033 3.38168549 2.46284227
2.77085375 3.54537329 3.17897671 0.98740124]]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>3.0818000034712947
[[1.82949718e-02 3.31658671e-01 3.68886089e-01 6.49666527e-01
1.49052317e-01 5.97305528e-01 4.57810898e-01 2.51578522e-01
2.89396164e-01 5.90342093e-01]
[3.31658671e-01 6.01244295e+00 6.68731669e+00 1.17774184e+01
2.70208087e+00 1.08281969e+01 8.29938171e+00 4.56071752e+00
5.24629107e+00 1.07019610e+01]
[3.68886089e-01 6.68731669e+00 7.43794243e+00 1.30993886e+01
3.00537912e+00 1.20436207e+01 9.23095558e+00 5.07264063e+00
5.83516719e+00 1.19032152e+01]
[6.49666527e-01 1.17774184e+01 1.30993886e+01 2.30700873e+01
5.29294618e+00 2.12107137e+01 1.62571673e+01 8.93371943e+00
1.02766489e+01 2.09634375e+01]
[1.49052317e-01 2.70208087e+00 3.00537912e+00 5.29294618e+00
1.21435514e+00 4.86635201e+00 3.72986500e+00 2.04965397e+00
2.35776087e+00 4.80961969e+00]
[5.97305528e-01 1.08281969e+01 1.20436207e+01 2.12107137e+01
4.86635201e+00 1.95011994e+01 1.49468927e+01 8.21369083e+00
9.44838453e+00 1.92738529e+01]
[4.57810898e-01 8.29938171e+00 9.23095558e+00 1.62571673e+01
3.72986500e+00 1.49468927e+01 1.14561980e+01 6.29546690e+00
7.24181044e+00 1.47726407e+01]
[2.51578522e-01 4.56071752e+00 5.07264063e+00 8.93371943e+00
2.04965397e+00 8.21369083e+00 6.29546690e+00 3.45951629e+00
3.97955570e+00 8.11793498e+00]
[2.89396164e-01 5.24629107e+00 5.83516719e+00 1.02766489e+01
2.35776087e+00 9.44838453e+00 7.24181044e+00 3.97955570e+00
4.57776818e+00 9.33823452e+00]
[5.90342093e-01 1.07019610e+01 1.19032152e+01 2.09634375e+01
4.80961969e+00 1.92738529e+01 1.47726407e+01 8.11793498e+00
9.33823452e+00 1.90491568e+01]]
</pre></div>
</div>
</div>
@@ -1204,15 +1241,15 @@ more practically oriented methods like the blocking technique.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>-0.09083636328656121
3.6943316601792833
-0.35793003441520066
0.8866190885623907 9.823585220707946 13.828190347382744
2.7923086060375724 2.5472246386316972 7.87667593906086
[[ 0.88661909 2.79230861 2.54722464]
[ 2.79230861 9.82358522 7.87667594]
[ 2.54722464 7.87667594 13.82819035]]
[20.65578316 0.07532297 3.80728853]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>-0.054244842835462305
4.000854409696581
0.13083543199018746
0.8437169762110144 8.948675162607389 10.317825933186352
2.601583341274718 2.1245596497124075 6.443538568902246
[[ 0.84371698 2.60158334 2.12455965]
[ 2.60158334 8.94867516 6.44353857]
[ 2.12455965 6.44353857 10.31782593]]
[16.80422999 0.07128434 3.23470374]
</pre></div>
</div>
</div>
@@ -1542,7 +1579,7 @@ assumption for approximating <span class="math notranslate nohighlight">\(\sigma
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.008818897251043893 0.9940672992288855
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>-0.048547423739546604 0.9959293935368551
</pre></div>
</div>
<img alt="_images/statistics_188_1.png" src="_images/statistics_188_1.png" />
@@ -240,6 +240,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
@@ -240,6 +240,33 @@ const thebe_selector_output = ".output, .cell_output"
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Weekly material, notes and exercises
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek35.html">
Exercises week 35
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week35.html">
Week 35: From Ordinary Linear Regression to Ridge and Lasso Regression
</a>
</li>
</ul>
</div>
</nav> <!-- To handle the deprecated key -->
File diff suppressed because it is too large Load Diff
+28 -28
View File
@@ -249,12 +249,12 @@ const thebe_selector_output = ".output, .cell_output"
<ul class="current nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="exercisesweek34.html">
19. Exercises week 34
Exercises week 34
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week34.html">
20. Week 34: Introduction to the course, Logistics and Practicalities
Week 34: Introduction to the course, Logistics and Practicalities
</a>
</li>
<li class="toctree-l1">
@@ -1611,7 +1611,7 @@ Since we are not using <strong>Scikit-Learn</strong> here we can define our own
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.9963864072152893
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.9959898232423614
</pre></div>
</div>
</div>
@@ -1628,7 +1628,7 @@ Since we are not using <strong>Scikit-Learn</strong> here we can define our own
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.008435888964550838
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>0.008278885543361304
</pre></div>
</div>
</div>
@@ -1643,23 +1643,23 @@ Since we are not using <strong>Scikit-Learn</strong> here we can define our own
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[0.00168141 0.0025074 0.01497781 0.06168748 0.04101587 0.03079528
0.0211496 0.04046799 0.00054272 0.01029589 0.02442398 0.04419696
0.02566258 0.00868337 0.02649453 0.00147197 0.00546438 0.00233441
0.01990155 0.00808144 0.00681644 0.07093644 0.01693 0.00965032
0.00287154 0.00758025 0.02521597 0.00057106 0.01550656 0.04495095
0.03995478 0.01056549 0.00820764 0.00089459 0.02082761 0.03583342
0.01907538 0.00018425 0.02539993 0.02166269 0.0035417 0.0025125
0.01742183 0.01586048 0.03791967 0.02344111 0.02195273 0.03500198
0.01539 0.01176895 0.02868501 0.00201915 0.01588619 0.00754532
0.01135107 0.01242803 0.06121384 0.01678286 0.05855607 0.02206138
0.06031681 0.00523269 0.00911938 0.06038053 0.01957153 0.00449439
0.00191249 0.01152107 0.02335522 0.04573105 0.02612167 0.010154
0.00867698 0.0814721 0.01693278 0.01844381 0.00781035 0.01725808
0.00645183 0.00054144 0.00452742 0.00406231 0.01619802 0.01073921
0.00074389 0.07943621 0.01788423 0.04637311 0.0348171 0.00689391
0.04087592 0.09631112 0.03634298 0.04516608 0.0183718 0.01817919
0.07297557 0.00578738 0.00465403 0.00174508]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[0.02970592 0.01381723 0.01572164 0.02401344 0.06008452 0.0084603
0.00506501 0.08734015 0.00145838 0.00779538 0.00046714 0.02971158
0.02263868 0.02541796 0.02724253 0.04120281 0.00578776 0.01574375
0.08923158 0.03510756 0.00373019 0.03206303 0.02008059 0.03533092
0.01558461 0.00733497 0.01770163 0.03026672 0.05698425 0.02766981
0.02421521 0.00943261 0.00207627 0.03352725 0.00139198 0.00770648
0.03078597 0.00355175 0.00432302 0.04554454 0.05892262 0.0097018
0.04100738 0.03232013 0.02747522 0.04208001 0.00252344 0.03080664
0.00437363 0.01614046 0.00158723 0.01471878 0.03235599 0.01285424
0.01494533 0.01006893 0.01248731 0.0317159 0.02226654 0.0189082
0.01923991 0.01816821 0.02900131 0.0123679 0.08684675 0.00934728
0.04331431 0.01574091 0.00017471 0.0164286 0.00118368 0.00839839
0.00548686 0.02596838 0.02058701 0.00661104 0.02708158 0.03187054
0.0171347 0.04573057 0.04735806 0.00131939 0.00704468 0.02422503
0.02818883 0.003738 0.02212893 0.00732273 0.02212776 0.0202731
0.0214539 0.02712723 0.02200044 0.01588614 0.03610331 0.02808201
0.00801078 0.01885351 0.00458671 0.01133171]
</pre></div>
</div>
</div>
@@ -1728,15 +1728,15 @@ but now splitting the data into a training set and a test set.</p>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[ 2.03739357 -0.54302039 7.21493572 -3.15550086 1.44651551]
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>[ 2.00025531 0.8850944 -0.44894073 10.27580794 -5.9383327 ]
Training R2
0.9973102337301051
0.9960039497353536
Training MSE
0.006158537606875468
0.007839875253055148
Test R2
0.9954911579937146
0.9962074631757628
Test MSE
0.010751622516868333
0.006275173922218319
</pre></div>
</div>
</div>
@@ -3510,7 +3510,7 @@ least squares is proportional to the second derivative of the cost
function, that is we have</p>
<div class="math notranslate nohighlight">
\[
\frac{\partial^2 C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}^T\partial \boldsymbol{\beta}} =\frac{2}{n}\boldsymbol{X}^T\boldsymbol{X}.
\frac{\partial^2 C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}\partial \boldsymbol{\beta}^T} =\frac{2}{n}\boldsymbol{X}^T\boldsymbol{X}.
\]</div>
<p>This quantity defines was what is called the Hessian matrix (the second derivative of a function we want to optimize).</p>
<p>The Hessian matrix plays an important role and is defined in this course as</p>
@@ -3558,7 +3558,7 @@ with a factor <span class="math notranslate nohighlight">\(1/(n-1)\)</span>. Thi
method corrects the bias in the estimation of the population variance
and covariance. It also partially corrects the bias in the estimation
of the population standard deviation. If you use a library like
<strong>Scikit-Learn</strong> or <strong>nunmpys</strong> function calculate the covariance, this
<strong>Scikit-Learn</strong> or <strong>nunmpys</strong> function to calculate the covariance, this
quantity will be computed with a factor <span class="math notranslate nohighlight">\(1/(n-1)\)</span>.</p>
</div>
<div class="section" id="covariance-and-correlation-matrix">
File diff suppressed because one or more lines are too long
@@ -1077,7 +1077,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1655,7 +1655,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1673,7 +1673,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1691,7 +1691,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1709,7 +1709,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1727,7 +1727,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1745,7 +1745,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1763,7 +1763,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1781,11 +1781,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1803,11 +1803,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1825,11 +1825,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1847,11 +1847,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1869,11 +1869,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1891,7 +1891,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -1909,11 +1909,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1931,11 +1931,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1953,11 +1953,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1975,11 +1975,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -1997,11 +1997,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -2019,11 +2019,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -2041,11 +2041,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -2063,11 +2063,11 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:43: RuntimeWarning: overflow encountered in exp\n",
" exp_term = np.exp(self.z_o)\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/1630775253.py:44: RuntimeWarning: invalid value encountered in true_divide\n",
" self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n"
]
},
@@ -2128,15 +2128,15 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_94478/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20528/953065564.py:4: RuntimeWarning: overflow encountered in exp\n",
" return 1/(1 + np.exp(-x))\n"
]
},
@@ -2669,24 +2669,20 @@
"Learning rate = 0.01\n",
"Lambda = 0.1\n",
"Accuracy score on test set: 0.9888888888888889\n",
"\n",
"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 0.01\n",
"Lambda = 1.0\n",
"Accuracy score on test set: 0.9722222222222222\n",
"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Learning rate = 0.01\n",
"Lambda = 10.0\n",
"Accuracy score on test set: 0.9527777777777777\n",
"\n",
"Learning rate = 0.1\n",
"Lambda = 1e-05\n",
"Accuracy score on test set: 0.9027777777777778\n",
"\n"
]
},
@@ -2694,10 +2690,20 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 0.1\n",
"Lambda = 1e-05\n",
"Accuracy score on test set: 0.9027777777777778\n",
"\n",
"Learning rate = 0.1\n",
"Lambda = 0.0001\n",
"Accuracy score on test set: 0.8583333333333333\n",
"\n",
"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 0.1\n",
"Lambda = 0.001\n",
"Accuracy score on test set: 0.8722222222222222\n",
@@ -2729,10 +2735,6 @@
"Learning rate = 0.1\n",
"Lambda = 10.0\n",
"Accuracy score on test set: 0.8666666666666667\n",
"\n",
"Learning rate = 1.0\n",
"Lambda = 1e-05\n",
"Accuracy score on test set: 0.08611111111111111\n",
"\n"
]
},
@@ -2740,6 +2742,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 1.0\n",
"Lambda = 1e-05\n",
"Accuracy score on test set: 0.08611111111111111\n",
"\n",
"Learning rate = 1.0\n",
"Lambda = 0.0001\n",
"Accuracy score on test set: 0.10555555555555556\n",
@@ -2747,10 +2753,6 @@
"Learning rate = 1.0\n",
"Lambda = 0.001\n",
"Accuracy score on test set: 0.10555555555555556\n",
"\n",
"Learning rate = 1.0\n",
"Lambda = 0.01\n",
"Accuracy score on test set: 0.17777777777777778\n",
"\n"
]
},
@@ -2758,6 +2760,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 1.0\n",
"Lambda = 0.01\n",
"Accuracy score on test set: 0.17777777777777778\n",
"\n",
"Learning rate = 1.0\n",
"Lambda = 0.1\n",
"Accuracy score on test set: 0.08333333333333333\n",
@@ -2765,10 +2771,6 @@
"Learning rate = 1.0\n",
"Lambda = 1.0\n",
"Accuracy score on test set: 0.08888888888888889\n",
"\n",
"Learning rate = 1.0\n",
"Lambda = 10.0\n",
"Accuracy score on test set: 0.09444444444444444\n",
"\n"
]
},
@@ -2776,10 +2778,20 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 1.0\n",
"Lambda = 10.0\n",
"Accuracy score on test set: 0.09444444444444444\n",
"\n",
"Learning rate = 10.0\n",
"Lambda = 1e-05\n",
"Accuracy score on test set: 0.17222222222222222\n",
"\n",
"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 10.0\n",
"Lambda = 0.0001\n",
"Accuracy score on test set: 0.11666666666666667\n",
@@ -2791,20 +2803,10 @@
"Learning rate = 10.0\n",
"Lambda = 0.01\n",
"Accuracy score on test set: 0.1388888888888889\n",
"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Learning rate = 10.0\n",
"Lambda = 0.1\n",
"Accuracy score on test set: 0.11388888888888889\n",
"\n",
"Learning rate = 10.0\n",
"Lambda = 1.0\n",
"Accuracy score on test set: 0.10555555555555556\n",
"\n"
]
},
@@ -2812,6 +2814,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Learning rate = 10.0\n",
"Lambda = 1.0\n",
"Accuracy score on test set: 0.10555555555555556\n",
"\n",
"Learning rate = 10.0\n",
"Lambda = 10.0\n",
"Accuracy score on test set: 0.09444444444444444\n",
@@ -3029,15 +3029,24 @@
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:20\u001b[0m, in \u001b[0;36munary_to_nary.<locals>.nary_operator.<locals>.nary_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 19\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(args[i] \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m argnum)\n\u001b[0;32m---> 20\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43munary_operator\u001b[49m\u001b[43m(\u001b[49m\u001b[43munary_f\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mnary_op_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mnary_op_kwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/differential_operators.py:78\u001b[0m, in \u001b[0;36mhessian\u001b[0;34m(fun, x)\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[38;5;129m@unary_to_nary\u001b[39m\n\u001b[1;32m 76\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mhessian\u001b[39m(fun, x):\n\u001b[1;32m 77\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mReturns a function that computes the exact Hessian.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m---> 78\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mjacobian\u001b[49m\u001b[43m(\u001b[49m\u001b[43mjacobian\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfun\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:20\u001b[0m, in \u001b[0;36munary_to_nary.<locals>.nary_operator.<locals>.nary_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 19\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(args[i] \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m argnum)\n\u001b[0;32m---> 20\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43munary_operator\u001b[49m\u001b[43m(\u001b[49m\u001b[43munary_f\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mnary_op_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mnary_op_kwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/differential_operators.py:57\u001b[0m, in \u001b[0;36mjacobian\u001b[0;34m(fun, x)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;129m@unary_to_nary\u001b[39m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mjacobian\u001b[39m(fun, x):\n\u001b[1;32m 49\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;124;03m Returns a function which computes the Jacobian of `fun` with respect to\u001b[39;00m\n\u001b[1;32m 51\u001b[0m \u001b[38;5;124;03m positional argument number `argnum`, which must be a scalar or array. Unlike\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;124;03m (out1, out2, ...) then the Jacobian has shape (out1, out2, ..., in1, in2, ...).\u001b[39;00m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 57\u001b[0m vjp, ans \u001b[38;5;241m=\u001b[39m \u001b[43m_make_vjp\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfun\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 58\u001b[0m ans_vspace \u001b[38;5;241m=\u001b[39m vspace(ans)\n\u001b[1;32m 59\u001b[0m jacobian_shape \u001b[38;5;241m=\u001b[39m ans_vspace\u001b[38;5;241m.\u001b[39mshape \u001b[38;5;241m+\u001b[39m vspace(x)\u001b[38;5;241m.\u001b[39mshape\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:10\u001b[0m, in \u001b[0;36mmake_vjp\u001b[0;34m(fun, x)\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmake_vjp\u001b[39m(fun, x):\n\u001b[1;32m 9\u001b[0m start_node \u001b[38;5;241m=\u001b[39m VJPNode\u001b[38;5;241m.\u001b[39mnew_root()\n\u001b[0;32m---> 10\u001b[0m end_value, end_node \u001b[38;5;241m=\u001b[39m \u001b[43mtrace\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstart_node\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfun\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m end_node \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 12\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mvjp\u001b[39m(g): \u001b[38;5;28;01mreturn\u001b[39;00m vspace(x)\u001b[38;5;241m.\u001b[39mzeros()\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:10\u001b[0m, in \u001b[0;36mtrace\u001b[0;34m(start_node, fun, x)\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m trace_stack\u001b[38;5;241m.\u001b[39mnew_trace() \u001b[38;5;28;01mas\u001b[39;00m t:\n\u001b[1;32m 9\u001b[0m start_box \u001b[38;5;241m=\u001b[39m new_box(x, t, start_node)\n\u001b[0;32m---> 10\u001b[0m end_box \u001b[38;5;241m=\u001b[39m \u001b[43mfun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstart_box\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m isbox(end_box) \u001b[38;5;129;01mand\u001b[39;00m end_box\u001b[38;5;241m.\u001b[39m_trace \u001b[38;5;241m==\u001b[39m start_box\u001b[38;5;241m.\u001b[39m_trace:\n\u001b[1;32m 12\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m end_box\u001b[38;5;241m.\u001b[39m_value, end_box\u001b[38;5;241m.\u001b[39m_node\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:15\u001b[0m, in \u001b[0;36munary_to_nary.<locals>.nary_operator.<locals>.nary_f.<locals>.unary_f\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 14\u001b[0m subargs \u001b[38;5;241m=\u001b[39m subvals(args, \u001b[38;5;28mzip\u001b[39m(argnum, x))\n\u001b[0;32m---> 15\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfun\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msubargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/wrap_util.py:20\u001b[0m, in \u001b[0;36munary_to_nary.<locals>.nary_operator.<locals>.nary_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 19\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(args[i] \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m argnum)\n\u001b[0;32m---> 20\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43munary_operator\u001b[49m\u001b[43m(\u001b[49m\u001b[43munary_f\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mnary_op_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mnary_op_kwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/differential_operators.py:61\u001b[0m, in \u001b[0;36mjacobian\u001b[0;34m(fun, x)\u001b[0m\n\u001b[1;32m 59\u001b[0m jacobian_shape \u001b[38;5;241m=\u001b[39m ans_vspace\u001b[38;5;241m.\u001b[39mshape \u001b[38;5;241m+\u001b[39m vspace(x)\u001b[38;5;241m.\u001b[39mshape\n\u001b[1;32m 60\u001b[0m grads \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmap\u001b[39m(vjp, ans_vspace\u001b[38;5;241m.\u001b[39mstandard_basis())\n\u001b[0;32m---> 61\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39mreshape(\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstack\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgrads\u001b[49m\u001b[43m)\u001b[49m, jacobian_shape)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_wrapper.py:88\u001b[0m, in \u001b[0;36mstack\u001b[0;34m(arrays, axis)\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstack\u001b[39m(arrays, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m):\n\u001b[1;32m 84\u001b[0m \u001b[38;5;66;03m# this code is basically copied from numpy/core/shape_base.py's stack\u001b[39;00m\n\u001b[1;32m 85\u001b[0m \u001b[38;5;66;03m# we need it here because we want to re-implement stack in terms of the\u001b[39;00m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;66;03m# primitives defined in this file\u001b[39;00m\n\u001b[0;32m---> 88\u001b[0m arrays \u001b[38;5;241m=\u001b[39m [array(arr) \u001b[38;5;28;01mfor\u001b[39;00m arr \u001b[38;5;129;01min\u001b[39;00m arrays]\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m arrays:\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mneed at least one array to stack\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_wrapper.py:88\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstack\u001b[39m(arrays, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m):\n\u001b[1;32m 84\u001b[0m \u001b[38;5;66;03m# this code is basically copied from numpy/core/shape_base.py's stack\u001b[39;00m\n\u001b[1;32m 85\u001b[0m \u001b[38;5;66;03m# we need it here because we want to re-implement stack in terms of the\u001b[39;00m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;66;03m# primitives defined in this file\u001b[39;00m\n\u001b[0;32m---> 88\u001b[0m arrays \u001b[38;5;241m=\u001b[39m [array(arr) \u001b[38;5;28;01mfor\u001b[39;00m arr \u001b[38;5;129;01min\u001b[39;00m arrays]\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m arrays:\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mneed at least one array to stack\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:14\u001b[0m, in \u001b[0;36mmake_vjp.<locals>.vjp\u001b[0;34m(g)\u001b[0m\n\u001b[0;32m---> 14\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mvjp\u001b[39m(g): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mbackward_pass\u001b[49m\u001b[43m(\u001b[49m\u001b[43mg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mend_node\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:21\u001b[0m, in \u001b[0;36mbackward_pass\u001b[0;34m(g, end_node)\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m node \u001b[38;5;129;01min\u001b[39;00m toposort(end_node):\n\u001b[1;32m 20\u001b[0m outgrad \u001b[38;5;241m=\u001b[39m outgrads\u001b[38;5;241m.\u001b[39mpop(node)\n\u001b[0;32m---> 21\u001b[0m ingrads \u001b[38;5;241m=\u001b[39m \u001b[43mnode\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvjp\u001b[49m\u001b[43m(\u001b[49m\u001b[43moutgrad\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m parent, ingrad \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(node\u001b[38;5;241m.\u001b[39mparents, ingrads):\n\u001b[1;32m 23\u001b[0m outgrads[parent] \u001b[38;5;241m=\u001b[39m add_outgrads(outgrads\u001b[38;5;241m.\u001b[39mget(parent), ingrad)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:67\u001b[0m, in \u001b[0;36mdefvjp.<locals>.vjp_argnums.<locals>.<lambda>\u001b[0;34m(g)\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\n\u001b[1;32m 65\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVJP of \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m wrt argnum 0 not defined\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(fun\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m))\n\u001b[1;32m 66\u001b[0m vjp \u001b[38;5;241m=\u001b[39m vjpfun(ans, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m---> 67\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: (\u001b[43mvjp\u001b[49m\u001b[43m(\u001b[49m\u001b[43mg\u001b[49m\u001b[43m)\u001b[49m,)\n\u001b[1;32m 68\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m L \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 69\u001b[0m argnum_0, argnum_1 \u001b[38;5;241m=\u001b[39m argnums\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:82\u001b[0m, in \u001b[0;36m<lambda>\u001b[0;34m(g)\u001b[0m\n\u001b[1;32m 80\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mlog10, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m x \u001b[38;5;241m/\u001b[39m anp\u001b[38;5;241m.\u001b[39mlog(\u001b[38;5;241m10\u001b[39m))\n\u001b[1;32m 81\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mlog1p, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m (x \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m))\n\u001b[0;32m---> 82\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39msin, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m*\u001b[39m \u001b[43manp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcos\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 83\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mcos, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[38;5;241m-\u001b[39m g \u001b[38;5;241m*\u001b[39m anp\u001b[38;5;241m.\u001b[39msin(x))\n\u001b[1;32m 84\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mtan, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m anp\u001b[38;5;241m.\u001b[39mcos(x) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:37\u001b[0m, in \u001b[0;36mprimitive.<locals>.f_wrapped\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(f_raw)\n\u001b[1;32m 36\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mf_wrapped\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 37\u001b[0m boxed_args, trace, node_constructor \u001b[38;5;241m=\u001b[39m \u001b[43mfind_top_boxed_args\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m boxed_args:\n\u001b[1;32m 39\u001b[0m argvals \u001b[38;5;241m=\u001b[39m subvals(args, [(argnum, box\u001b[38;5;241m.\u001b[39m_value) \u001b[38;5;28;01mfor\u001b[39;00m argnum, box \u001b[38;5;129;01min\u001b[39;00m boxed_args])\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:70\u001b[0m, in \u001b[0;36mfind_top_boxed_args\u001b[0;34m(args)\u001b[0m\n\u001b[1;32m 68\u001b[0m top_node_type \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m argnum, arg \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(args):\n\u001b[0;32m---> 70\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[43misbox\u001b[49m\u001b[43m(\u001b[49m\u001b[43marg\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[1;32m 71\u001b[0m trace \u001b[38;5;241m=\u001b[39m arg\u001b[38;5;241m.\u001b[39m_trace\n\u001b[1;32m 72\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m trace \u001b[38;5;241m>\u001b[39m top_trace:\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:82\u001b[0m, in \u001b[0;36m<lambda>\u001b[0;34m(g)\u001b[0m\n\u001b[1;32m 80\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mlog10, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m x \u001b[38;5;241m/\u001b[39m anp\u001b[38;5;241m.\u001b[39mlog(\u001b[38;5;241m10\u001b[39m))\n\u001b[1;32m 81\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mlog1p, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m (x \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m))\n\u001b[0;32m---> 82\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39msin, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[43mg\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43manp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcos\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 83\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mcos, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[38;5;241m-\u001b[39m g \u001b[38;5;241m*\u001b[39m anp\u001b[38;5;241m.\u001b[39msin(x))\n\u001b[1;32m 84\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mtan, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x : \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m anp\u001b[38;5;241m.\u001b[39mcos(x) \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m)\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_boxes.py:27\u001b[0m, in \u001b[0;36mArrayBox.__mul__\u001b[0;34m(self, other)\u001b[0m\n\u001b[0;32m---> 27\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__mul__\u001b[39m(\u001b[38;5;28mself\u001b[39m, other): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43manp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmultiply\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mother\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/tracer.py:45\u001b[0m, in \u001b[0;36mprimitive.<locals>.f_wrapped\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 43\u001b[0m argnums \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(argnum \u001b[38;5;28;01mfor\u001b[39;00m argnum, _ \u001b[38;5;129;01min\u001b[39;00m boxed_args)\n\u001b[1;32m 44\u001b[0m ans \u001b[38;5;241m=\u001b[39m f_wrapped(\u001b[38;5;241m*\u001b[39margvals, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m---> 45\u001b[0m node \u001b[38;5;241m=\u001b[39m \u001b[43mnode_constructor\u001b[49m\u001b[43m(\u001b[49m\u001b[43mans\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mf_wrapped\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margvals\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margnums\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparents\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m new_box(ans, trace, node)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:36\u001b[0m, in \u001b[0;36mVJPNode.__init__\u001b[0;34m(self, value, fun, args, kwargs, parent_argnums, parents)\u001b[0m\n\u001b[1;32m 33\u001b[0m fun_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(fun, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__name__\u001b[39m\u001b[38;5;124m'\u001b[39m, fun)\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVJP of \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m wrt argnums \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m not defined\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;241m.\u001b[39mformat(fun_name, parent_argnums))\n\u001b[0;32m---> 36\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvjp \u001b[38;5;241m=\u001b[39m \u001b[43mvjpmaker\u001b[49m\u001b[43m(\u001b[49m\u001b[43mparent_argnums\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/core.py:76\u001b[0m, in \u001b[0;36mdefvjp.<locals>.vjp_argnums\u001b[0;34m(argnums, ans, args, kwargs)\u001b[0m\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\n\u001b[1;32m 75\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mVJP of \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m wrt argnums 0, 1 not defined\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(fun\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m))\n\u001b[0;32m---> 76\u001b[0m vjp_0 \u001b[38;5;241m=\u001b[39m \u001b[43mvjp_0_fun\u001b[49m\u001b[43m(\u001b[49m\u001b[43mans\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 77\u001b[0m vjp_1 \u001b[38;5;241m=\u001b[39m vjp_1_fun(ans, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 78\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: (vjp_0(g), vjp_1(g))\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:34\u001b[0m, in \u001b[0;36m<lambda>\u001b[0;34m(ans, x, y)\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;66;03m# ----- Binary ufuncs -----\u001b[39;00m\n\u001b[1;32m 32\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39madd, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g),\n\u001b[1;32m 33\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: g))\n\u001b[0;32m---> 34\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mmultiply, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : \u001b[43munbroadcast_f\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mg\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mg\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: x \u001b[38;5;241m*\u001b[39m g))\n\u001b[1;32m 36\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39msubtract, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g),\n\u001b[1;32m 37\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[38;5;241m-\u001b[39mg))\n\u001b[1;32m 38\u001b[0m defvjp(anp\u001b[38;5;241m.\u001b[39mdivide, \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(x, \u001b[38;5;28;01mlambda\u001b[39;00m g: g \u001b[38;5;241m/\u001b[39m y),\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mlambda\u001b[39;00m ans, x, y : unbroadcast_f(y, \u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[38;5;241m-\u001b[39m g \u001b[38;5;241m*\u001b[39m x \u001b[38;5;241m/\u001b[39m y\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m))\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/autograd/numpy/numpy_vjps.py:659\u001b[0m, in \u001b[0;36munbroadcast_f\u001b[0;34m(target, f)\u001b[0m\n\u001b[1;32m 658\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21munbroadcast_f\u001b[39m(target, f):\n\u001b[0;32m--> 659\u001b[0m target_meta \u001b[38;5;241m=\u001b[39m \u001b[43manp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmetadata\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtarget\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 660\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mlambda\u001b[39;00m g: unbroadcast(f(g), target_meta)\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
@@ -1298,12 +1298,20 @@
},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'flatbuffers'",
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lib/__init__.py:32: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.\n",
" warnings.warn(\"JAX on Mac ARM machines is experimental and minimally tested. \"\n"
]
},
{
"ename": "AttributeError",
"evalue": "module 'jaxlib.pocketfft' has no attribute 'pocketfft'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mkeras\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m datasets, layers, models\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mkeras\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlayers\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Input\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mkeras\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmodels\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Sequential \u001b[38;5;66;03m#This allows appending layers to existing models\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/__init__.py:51\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m autograph\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m bitwise\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compat\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m data\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/_api/v2/compat/__init__.py:37\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"Compatibility functions.\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \n\u001b[1;32m 5\u001b[0m \u001b[38;5;124;03mThe `tf.compat` module contains two sets of compatibility functions.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 32\u001b[0m \n\u001b[1;32m 33\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m---> 37\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m v1\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m v2\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m forward_compatibility_horizon\n",
@@ -1315,8 +1323,15 @@
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/authoring/__init__.py:8\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"Public API for tf.lite.experimental.authoring namespace.\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m----> 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauthoring\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauthoring\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compatible\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/authoring/authoring.py:43\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;66;03m# pylint: disable=g-import-not-at-top\u001b[39;00m\n\u001b[0;32m---> 43\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m convert\n\u001b[1;32m 44\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lite\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmetrics\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m converter_error_data_pb2\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/convert.py:29\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lite_constants\n\u001b[0;32m---> 29\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m util\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m wrap_toco\n\u001b[1;32m 31\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconvert_phase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Component\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/util.py:26\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmoves\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;28mrange\u001b[39m\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mflatbuffers\u001b[39;00m\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprotobuf\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config_pb2 \u001b[38;5;28;01mas\u001b[39;00m _config_pb2\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprotobuf\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m graph_debug_info_pb2\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'flatbuffers'"
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/util.py:51\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;66;03m# Jax functions used by TFLite\u001b[39;00m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;66;03m# pylint: disable=g-import-not-at-top\u001b[39;00m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;66;03m# pylint: disable=unused-import\u001b[39;00m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m xla_computation \u001b[38;5;28;01mas\u001b[39;00m _xla_computation\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m _xla_computation \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/__init__.py:116\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconfig\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 41\u001b[0m config \u001b[38;5;28;01mas\u001b[39;00m config,\n\u001b[1;32m 42\u001b[0m enable_checks \u001b[38;5;28;01mas\u001b[39;00m enable_checks,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 51\u001b[0m numpy_rank_promotion \u001b[38;5;28;01mas\u001b[39;00m numpy_rank_promotion,\n\u001b[1;32m 52\u001b[0m )\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mapi\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 54\u001b[0m ad, \u001b[38;5;66;03m# TODO(phawkins): update users to avoid this.\u001b[39;00m\n\u001b[1;32m 55\u001b[0m checkpoint \u001b[38;5;28;01mas\u001b[39;00m checkpoint,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 114\u001b[0m xla_computation \u001b[38;5;28;01mas\u001b[39;00m xla_computation,\n\u001b[1;32m 115\u001b[0m )\n\u001b[0;32m--> 116\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmaps\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m soft_pmap \u001b[38;5;28;01mas\u001b[39;00m soft_pmap\n\u001b[1;32m 117\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mversion\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m __version__ \u001b[38;5;28;01mas\u001b[39;00m __version__\n\u001b[1;32m 119\u001b[0m \u001b[38;5;66;03m# These submodules are separate because they are in an import cycle with\u001b[39;00m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;66;03m# jax and rely on the names imported above.\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/experimental/maps.py:26\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m wraps, partial, partialmethod\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01menum\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Enum\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m numpy \u001b[38;5;28;01mas\u001b[39;00m jnp\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linear_util \u001b[38;5;28;01mas\u001b[39;00m lu\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/numpy/__init__.py:19\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2018 Google LLC\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 17\u001b[0m \n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# flake8: noqa: F401\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m fft \u001b[38;5;28;01mas\u001b[39;00m fft\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linalg \u001b[38;5;28;01mas\u001b[39;00m linalg\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01minterpreters\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mxla\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m DeviceArray \u001b[38;5;28;01mas\u001b[39;00m DeviceArray\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/numpy/fft.py:17\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2020 Google LLC\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 14\u001b[0m \n\u001b[1;32m 15\u001b[0m \u001b[38;5;66;03m# flake8: noqa: F401\u001b[39;00m\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfft\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 18\u001b[0m ifft \u001b[38;5;28;01mas\u001b[39;00m ifft,\n\u001b[1;32m 19\u001b[0m ifft2 \u001b[38;5;28;01mas\u001b[39;00m ifft2,\n\u001b[1;32m 20\u001b[0m ifftn \u001b[38;5;28;01mas\u001b[39;00m ifftn,\n\u001b[1;32m 21\u001b[0m ifftshift \u001b[38;5;28;01mas\u001b[39;00m ifftshift,\n\u001b[1;32m 22\u001b[0m ihfft \u001b[38;5;28;01mas\u001b[39;00m ihfft,\n\u001b[1;32m 23\u001b[0m irfft \u001b[38;5;28;01mas\u001b[39;00m irfft,\n\u001b[1;32m 24\u001b[0m irfft2 \u001b[38;5;28;01mas\u001b[39;00m irfft2,\n\u001b[1;32m 25\u001b[0m irfftn \u001b[38;5;28;01mas\u001b[39;00m irfftn,\n\u001b[1;32m 26\u001b[0m fft \u001b[38;5;28;01mas\u001b[39;00m fft,\n\u001b[1;32m 27\u001b[0m fft2 \u001b[38;5;28;01mas\u001b[39;00m fft2,\n\u001b[1;32m 28\u001b[0m fftfreq \u001b[38;5;28;01mas\u001b[39;00m fftfreq,\n\u001b[1;32m 29\u001b[0m fftn \u001b[38;5;28;01mas\u001b[39;00m fftn,\n\u001b[1;32m 30\u001b[0m fftshift \u001b[38;5;28;01mas\u001b[39;00m fftshift,\n\u001b[1;32m 31\u001b[0m hfft \u001b[38;5;28;01mas\u001b[39;00m hfft,\n\u001b[1;32m 32\u001b[0m rfft \u001b[38;5;28;01mas\u001b[39;00m rfft,\n\u001b[1;32m 33\u001b[0m rfft2 \u001b[38;5;28;01mas\u001b[39;00m rfft2,\n\u001b[1;32m 34\u001b[0m rfftfreq \u001b[38;5;28;01mas\u001b[39;00m rfftfreq,\n\u001b[1;32m 35\u001b[0m rfftn \u001b[38;5;28;01mas\u001b[39;00m rfftn,\n\u001b[1;32m 36\u001b[0m )\n\u001b[1;32m 38\u001b[0m \u001b[38;5;66;03m# Module initialization is encapsulated in a function to avoid accidental\u001b[39;00m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# namespace pollution.\u001b[39;00m\n\u001b[1;32m 40\u001b[0m _NOT_IMPLEMENTED \u001b[38;5;241m=\u001b[39m []\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/numpy/fft.py:19\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01moperator\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lax\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlib\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m xla_client\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m safe_zip\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/lax/__init__.py:332\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (_reduce_sum, _reduce_max, _reduce_min, _reduce_or,\n\u001b[1;32m 300\u001b[0m _reduce_and, _reduce_window_sum, _reduce_window_max,\n\u001b[1;32m 301\u001b[0m _reduce_window_min, _reduce_window_prod,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 306\u001b[0m _upcast_fp16_for_computation, _broadcasting_shape_rule,\n\u001b[1;32m 307\u001b[0m _eye, _tri, _delta, _ones, _zeros, _dilate_shape)\n\u001b[1;32m 308\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcontrol_flow\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 309\u001b[0m associative_scan \u001b[38;5;28;01mas\u001b[39;00m associative_scan,\n\u001b[1;32m 310\u001b[0m cond \u001b[38;5;28;01mas\u001b[39;00m cond,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 330\u001b[0m while_p \u001b[38;5;28;01mas\u001b[39;00m while_p,\n\u001b[1;32m 331\u001b[0m )\n\u001b[0;32m--> 332\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfft\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 333\u001b[0m fft \u001b[38;5;28;01mas\u001b[39;00m fft,\n\u001b[1;32m 334\u001b[0m fft_p \u001b[38;5;28;01mas\u001b[39;00m fft_p,\n\u001b[1;32m 335\u001b[0m )\n\u001b[1;32m 336\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mparallel\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 337\u001b[0m all_gather \u001b[38;5;28;01mas\u001b[39;00m all_gather,\n\u001b[1;32m 338\u001b[0m all_to_all \u001b[38;5;28;01mas\u001b[39;00m all_to_all,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 355\u001b[0m xeinsum \u001b[38;5;28;01mas\u001b[39;00m xeinsum,\n\u001b[1;32m 356\u001b[0m )\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mother\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 358\u001b[0m conv_general_dilated_patches \u001b[38;5;28;01mas\u001b[39;00m conv_general_dilated_patches\n\u001b[1;32m 359\u001b[0m )\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lax/fft.py:145\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 143\u001b[0m batching\u001b[38;5;241m.\u001b[39mprimitive_batchers[fft_p] \u001b[38;5;241m=\u001b[39m fft_batching_rule\n\u001b[1;32m 144\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m pocketfft:\n\u001b[0;32m--> 145\u001b[0m xla\u001b[38;5;241m.\u001b[39mbackend_specific_translations[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m'\u001b[39m][fft_p] \u001b[38;5;241m=\u001b[39m \u001b[43mpocketfft\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpocketfft\u001b[49m\n",
"\u001b[0;31mAttributeError\u001b[0m: module 'jaxlib.pocketfft' has no attribute 'pocketfft'"
]
}
],
@@ -60,12 +60,20 @@
},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'flatbuffers'",
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lib/__init__.py:32: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.\n",
" warnings.warn(\"JAX on Mac ARM machines is experimental and minimally tested. \"\n"
]
},
{
"ename": "AttributeError",
"evalue": "module 'jaxlib.pocketfft' has no attribute 'pocketfft'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36m<cell line: 7>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mplt\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mtf\u001b[39;00m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mkeras\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m datasets, layers, models\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mkeras\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlayers\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Input\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/__init__.py:51\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m autograph\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m bitwise\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compat\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m data\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/_api/v2/compat/__init__.py:37\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"Compatibility functions.\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \n\u001b[1;32m 5\u001b[0m \u001b[38;5;124;03mThe `tf.compat` module contains two sets of compatibility functions.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 32\u001b[0m \n\u001b[1;32m 33\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m---> 37\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m v1\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m v2\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m forward_compatibility_horizon\n",
@@ -77,8 +85,15 @@
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/authoring/__init__.py:8\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"Public API for tf.lite.experimental.authoring namespace.\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m----> 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauthoring\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauthoring\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compatible\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/authoring/authoring.py:43\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;66;03m# pylint: disable=g-import-not-at-top\u001b[39;00m\n\u001b[0;32m---> 43\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m convert\n\u001b[1;32m 44\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lite\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmetrics\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m converter_error_data_pb2\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/convert.py:29\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lite_constants\n\u001b[0;32m---> 29\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m util\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m wrap_toco\n\u001b[1;32m 31\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconvert_phase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Component\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/util.py:26\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmoves\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;28mrange\u001b[39m\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mflatbuffers\u001b[39;00m\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprotobuf\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config_pb2 \u001b[38;5;28;01mas\u001b[39;00m _config_pb2\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprotobuf\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m graph_debug_info_pb2\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'flatbuffers'"
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/util.py:51\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;66;03m# Jax functions used by TFLite\u001b[39;00m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;66;03m# pylint: disable=g-import-not-at-top\u001b[39;00m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;66;03m# pylint: disable=unused-import\u001b[39;00m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m xla_computation \u001b[38;5;28;01mas\u001b[39;00m _xla_computation\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m _xla_computation \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/__init__.py:116\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconfig\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 41\u001b[0m config \u001b[38;5;28;01mas\u001b[39;00m config,\n\u001b[1;32m 42\u001b[0m enable_checks \u001b[38;5;28;01mas\u001b[39;00m enable_checks,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 51\u001b[0m numpy_rank_promotion \u001b[38;5;28;01mas\u001b[39;00m numpy_rank_promotion,\n\u001b[1;32m 52\u001b[0m )\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mapi\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 54\u001b[0m ad, \u001b[38;5;66;03m# TODO(phawkins): update users to avoid this.\u001b[39;00m\n\u001b[1;32m 55\u001b[0m checkpoint \u001b[38;5;28;01mas\u001b[39;00m checkpoint,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 114\u001b[0m xla_computation \u001b[38;5;28;01mas\u001b[39;00m xla_computation,\n\u001b[1;32m 115\u001b[0m )\n\u001b[0;32m--> 116\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmaps\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m soft_pmap \u001b[38;5;28;01mas\u001b[39;00m soft_pmap\n\u001b[1;32m 117\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mversion\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m __version__ \u001b[38;5;28;01mas\u001b[39;00m __version__\n\u001b[1;32m 119\u001b[0m \u001b[38;5;66;03m# These submodules are separate because they are in an import cycle with\u001b[39;00m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;66;03m# jax and rely on the names imported above.\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/experimental/maps.py:26\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m wraps, partial, partialmethod\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01menum\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Enum\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m numpy \u001b[38;5;28;01mas\u001b[39;00m jnp\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linear_util \u001b[38;5;28;01mas\u001b[39;00m lu\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/numpy/__init__.py:19\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2018 Google LLC\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 17\u001b[0m \n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# flake8: noqa: F401\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m fft \u001b[38;5;28;01mas\u001b[39;00m fft\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linalg \u001b[38;5;28;01mas\u001b[39;00m linalg\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01minterpreters\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mxla\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m DeviceArray \u001b[38;5;28;01mas\u001b[39;00m DeviceArray\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/numpy/fft.py:17\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2020 Google LLC\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 14\u001b[0m \n\u001b[1;32m 15\u001b[0m \u001b[38;5;66;03m# flake8: noqa: F401\u001b[39;00m\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfft\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 18\u001b[0m ifft \u001b[38;5;28;01mas\u001b[39;00m ifft,\n\u001b[1;32m 19\u001b[0m ifft2 \u001b[38;5;28;01mas\u001b[39;00m ifft2,\n\u001b[1;32m 20\u001b[0m ifftn \u001b[38;5;28;01mas\u001b[39;00m ifftn,\n\u001b[1;32m 21\u001b[0m ifftshift \u001b[38;5;28;01mas\u001b[39;00m ifftshift,\n\u001b[1;32m 22\u001b[0m ihfft \u001b[38;5;28;01mas\u001b[39;00m ihfft,\n\u001b[1;32m 23\u001b[0m irfft \u001b[38;5;28;01mas\u001b[39;00m irfft,\n\u001b[1;32m 24\u001b[0m irfft2 \u001b[38;5;28;01mas\u001b[39;00m irfft2,\n\u001b[1;32m 25\u001b[0m irfftn \u001b[38;5;28;01mas\u001b[39;00m irfftn,\n\u001b[1;32m 26\u001b[0m fft \u001b[38;5;28;01mas\u001b[39;00m fft,\n\u001b[1;32m 27\u001b[0m fft2 \u001b[38;5;28;01mas\u001b[39;00m fft2,\n\u001b[1;32m 28\u001b[0m fftfreq \u001b[38;5;28;01mas\u001b[39;00m fftfreq,\n\u001b[1;32m 29\u001b[0m fftn \u001b[38;5;28;01mas\u001b[39;00m fftn,\n\u001b[1;32m 30\u001b[0m fftshift \u001b[38;5;28;01mas\u001b[39;00m fftshift,\n\u001b[1;32m 31\u001b[0m hfft \u001b[38;5;28;01mas\u001b[39;00m hfft,\n\u001b[1;32m 32\u001b[0m rfft \u001b[38;5;28;01mas\u001b[39;00m rfft,\n\u001b[1;32m 33\u001b[0m rfft2 \u001b[38;5;28;01mas\u001b[39;00m rfft2,\n\u001b[1;32m 34\u001b[0m rfftfreq \u001b[38;5;28;01mas\u001b[39;00m rfftfreq,\n\u001b[1;32m 35\u001b[0m rfftn \u001b[38;5;28;01mas\u001b[39;00m rfftn,\n\u001b[1;32m 36\u001b[0m )\n\u001b[1;32m 38\u001b[0m \u001b[38;5;66;03m# Module initialization is encapsulated in a function to avoid accidental\u001b[39;00m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# namespace pollution.\u001b[39;00m\n\u001b[1;32m 40\u001b[0m _NOT_IMPLEMENTED \u001b[38;5;241m=\u001b[39m []\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/numpy/fft.py:19\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01moperator\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lax\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlib\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m xla_client\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m safe_zip\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/lax/__init__.py:332\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (_reduce_sum, _reduce_max, _reduce_min, _reduce_or,\n\u001b[1;32m 300\u001b[0m _reduce_and, _reduce_window_sum, _reduce_window_max,\n\u001b[1;32m 301\u001b[0m _reduce_window_min, _reduce_window_prod,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 306\u001b[0m _upcast_fp16_for_computation, _broadcasting_shape_rule,\n\u001b[1;32m 307\u001b[0m _eye, _tri, _delta, _ones, _zeros, _dilate_shape)\n\u001b[1;32m 308\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcontrol_flow\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 309\u001b[0m associative_scan \u001b[38;5;28;01mas\u001b[39;00m associative_scan,\n\u001b[1;32m 310\u001b[0m cond \u001b[38;5;28;01mas\u001b[39;00m cond,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 330\u001b[0m while_p \u001b[38;5;28;01mas\u001b[39;00m while_p,\n\u001b[1;32m 331\u001b[0m )\n\u001b[0;32m--> 332\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfft\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 333\u001b[0m fft \u001b[38;5;28;01mas\u001b[39;00m fft,\n\u001b[1;32m 334\u001b[0m fft_p \u001b[38;5;28;01mas\u001b[39;00m fft_p,\n\u001b[1;32m 335\u001b[0m )\n\u001b[1;32m 336\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mparallel\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 337\u001b[0m all_gather \u001b[38;5;28;01mas\u001b[39;00m all_gather,\n\u001b[1;32m 338\u001b[0m all_to_all \u001b[38;5;28;01mas\u001b[39;00m all_to_all,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 355\u001b[0m xeinsum \u001b[38;5;28;01mas\u001b[39;00m xeinsum,\n\u001b[1;32m 356\u001b[0m )\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mother\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 358\u001b[0m conv_general_dilated_patches \u001b[38;5;28;01mas\u001b[39;00m conv_general_dilated_patches\n\u001b[1;32m 359\u001b[0m )\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lax/fft.py:145\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 143\u001b[0m batching\u001b[38;5;241m.\u001b[39mprimitive_batchers[fft_p] \u001b[38;5;241m=\u001b[39m fft_batching_rule\n\u001b[1;32m 144\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m pocketfft:\n\u001b[0;32m--> 145\u001b[0m xla\u001b[38;5;241m.\u001b[39mbackend_specific_translations[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m'\u001b[39m][fft_p] \u001b[38;5;241m=\u001b[39m \u001b[43mpocketfft\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpocketfft\u001b[49m\n",
"\u001b[0;31mAttributeError\u001b[0m: module 'jaxlib.pocketfft' has no attribute 'pocketfft'"
]
}
],
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@@ -1798,10 +1798,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"-0.08873443359350565\n",
"3.7851533175757255\n",
"[[ 0.98248312 3.05483267]\n",
" [ 3.05483267 10.24784064]]\n"
"0.008947823579448178\n",
"4.14822021080294\n",
"[[0.73947737 2.16006961]\n",
" [2.16006961 7.24782786]]\n"
]
}
],
@@ -1845,10 +1845,10 @@
"name": "stdout",
"output_type": "stream",
"text": [
"0.07858099596662704\n",
"2.071920625289855\n",
"[[1. 0.71822416]\n",
" [0.71822416 1. ]]\n"
"0.08657894597048958\n",
"2.219222942590059\n",
"[[1. 0.6343356]\n",
" [0.6343356 1. ]]\n"
]
}
],
@@ -1905,30 +1905,30 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[[ -2.84861838 -10.07337358]\n",
" [ 0.53938383 2.59445979]\n",
" [ -0.40980089 -0.48871288]\n",
" [ 0.05834332 -0.39384255]\n",
" [ 2.25385387 7.58112299]\n",
" [ 0.68246434 2.46650488]\n",
" [ -0.25366775 -1.97047717]\n",
" [ 0.79081838 2.03807267]\n",
" [ -0.06150169 -0.57109235]\n",
" [ -0.75127504 -1.18266178]]\n",
" 0 1\n",
"0 -2.848618 -10.073374\n",
"1 0.539384 2.594460\n",
"2 -0.409801 -0.488713\n",
"3 0.058343 -0.393843\n",
"4 2.253854 7.581123\n",
"5 0.682464 2.466505\n",
"6 -0.253668 -1.970477\n",
"7 0.790818 2.038073\n",
"8 -0.061502 -0.571092\n",
"9 -0.751275 -1.182662\n",
"[[ 0.29724806 0.26804287]\n",
" [-0.15626984 -1.36853738]\n",
" [-0.77070756 -2.13536532]\n",
" [-0.45372697 -3.1582408 ]\n",
" [ 0.52580392 2.72567956]\n",
" [-0.86515815 -1.35704388]\n",
" [-0.73738602 -2.12933164]\n",
" [-0.10486183 1.06292011]\n",
" [ 1.75670484 5.27381733]\n",
" [ 0.50835355 0.81805914]]\n",
" 0 1\n",
"0 1.000000 0.984525\n",
"1 0.984525 1.000000\n"
"0 0.297248 0.268043\n",
"1 -0.156270 -1.368537\n",
"2 -0.770708 -2.135365\n",
"3 -0.453727 -3.158241\n",
"4 0.525804 2.725680\n",
"5 -0.865158 -1.357044\n",
"6 -0.737386 -2.129332\n",
"7 -0.104862 1.062920\n",
"8 1.756705 5.273817\n",
"9 0.508354 0.818059\n",
" 0 1\n",
"0 1.000000 0.915549\n",
"1 0.915549 1.000000\n"
]
}
],
@@ -1974,37 +1974,37 @@
"text": [
" 0 1 2 3 4 5 6 7 \\\n",
"0 0.0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.0 0.090241 0.082140 0.090564 0.084086 0.078082 0.082282 0.076619 \n",
"2 0.0 0.082140 0.075227 0.083102 0.077428 0.072150 0.075982 0.070945 \n",
"3 0.0 0.090564 0.083102 0.096893 0.090268 0.084107 0.091647 0.085571 \n",
"4 0.0 0.084086 0.077428 0.090268 0.084286 0.078707 0.085655 0.080120 \n",
"5 0.0 0.078082 0.072150 0.084107 0.078707 0.073657 0.080061 0.075020 \n",
"6 0.0 0.082282 0.075982 0.091647 0.085655 0.080061 0.089082 0.083380 \n",
"7 0.0 0.076619 0.070945 0.085571 0.080120 0.075020 0.083380 0.078158 \n",
"8 0.0 0.071394 0.066284 0.079944 0.074984 0.070333 0.078082 0.073299 \n",
"9 0.0 0.066569 0.061966 0.074729 0.070216 0.065973 0.073159 0.068776 \n",
"10 0.0 0.073831 0.068541 0.084523 0.079224 0.074258 0.083779 0.078587 \n",
"11 0.0 0.068867 0.064081 0.079021 0.074183 0.069640 0.078484 0.073716 \n",
"12 0.0 0.064284 0.059952 0.073925 0.069506 0.065349 0.073567 0.069187 \n",
"13 0.0 0.060048 0.056127 0.069202 0.065165 0.061359 0.068999 0.064974 \n",
"14 0.0 0.056131 0.052581 0.064823 0.061133 0.057648 0.064753 0.061054 \n",
"1 0.0 0.086925 0.087377 0.087520 0.087878 0.088164 0.079680 0.079580 \n",
"2 0.0 0.087377 0.089240 0.088074 0.089063 0.089924 0.079827 0.080060 \n",
"3 0.0 0.087520 0.088074 0.094227 0.094252 0.094139 0.089441 0.088974 \n",
"4 0.0 0.087878 0.089063 0.094252 0.094610 0.094812 0.089040 0.088778 \n",
"5 0.0 0.088164 0.089924 0.094139 0.094812 0.095315 0.088488 0.088425 \n",
"6 0.0 0.079680 0.079827 0.089441 0.089040 0.088488 0.087315 0.086524 \n",
"7 0.0 0.079580 0.080060 0.088974 0.088778 0.088425 0.086524 0.085876 \n",
"8 0.0 0.079499 0.080295 0.088502 0.088506 0.088348 0.085716 0.085210 \n",
"9 0.0 0.079448 0.080548 0.088037 0.088238 0.088275 0.084906 0.084541 \n",
"10 0.0 0.071751 0.071438 0.082839 0.082089 0.081194 0.082509 0.081481 \n",
"11 0.0 0.071392 0.071284 0.082139 0.081533 0.080780 0.081559 0.080641 \n",
"12 0.0 0.071071 0.071164 0.081471 0.081007 0.080395 0.080635 0.079827 \n",
"13 0.0 0.070794 0.071084 0.080839 0.080518 0.080048 0.079741 0.079043 \n",
"14 0.0 0.070562 0.071051 0.080249 0.080070 0.079745 0.078880 0.078293 \n",
"\n",
" 8 9 10 11 12 13 14 \n",
"0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"1 0.071394 0.066569 0.073831 0.068867 0.064284 0.060048 0.056131 \n",
"2 0.066284 0.061966 0.068541 0.064081 0.059952 0.056127 0.052581 \n",
"3 0.079944 0.074729 0.084523 0.079021 0.073925 0.069202 0.064823 \n",
"4 0.074984 0.070216 0.079224 0.074183 0.069506 0.065165 0.061133 \n",
"5 0.070333 0.065973 0.074258 0.069640 0.065349 0.061359 0.057648 \n",
"6 0.078082 0.073159 0.083779 0.078484 0.073567 0.068999 0.064753 \n",
"7 0.073299 0.068776 0.078587 0.073716 0.069187 0.064974 0.061054 \n",
"8 0.068841 0.064684 0.073750 0.069268 0.065095 0.061209 0.057588 \n",
"9 0.064684 0.060863 0.069242 0.065118 0.061272 0.057686 0.054340 \n",
"10 0.073750 0.069242 0.079948 0.075028 0.070450 0.066189 0.062220 \n",
"11 0.069268 0.065118 0.075028 0.070494 0.066270 0.062333 0.058663 \n",
"12 0.065095 0.061272 0.070450 0.066270 0.062370 0.058732 0.055337 \n",
"13 0.061209 0.057686 0.066189 0.062333 0.058732 0.055369 0.052227 \n",
"14 0.057588 0.054340 0.062220 0.058663 0.055337 0.052227 0.049318 \n"
"1 0.079499 0.079448 0.071751 0.071392 0.071071 0.070794 0.070562 \n",
"2 0.080295 0.080548 0.071438 0.071284 0.071164 0.071084 0.071051 \n",
"3 0.088502 0.088037 0.082839 0.082139 0.081471 0.080839 0.080249 \n",
"4 0.088506 0.088238 0.082089 0.081533 0.081007 0.080518 0.080070 \n",
"5 0.088348 0.088275 0.081194 0.080780 0.080395 0.080048 0.079745 \n",
"6 0.085716 0.084906 0.082509 0.081559 0.080635 0.079741 0.078880 \n",
"7 0.085210 0.084541 0.081481 0.080641 0.079827 0.079043 0.078293 \n",
"8 0.084685 0.084157 0.080434 0.079704 0.078999 0.078326 0.077688 \n",
"9 0.084157 0.083772 0.079379 0.078759 0.078165 0.077604 0.077079 \n",
"10 0.080434 0.079379 0.079152 0.078033 0.076935 0.075863 0.074818 \n",
"11 0.079704 0.078759 0.078033 0.077004 0.075996 0.075014 0.074061 \n",
"12 0.078999 0.078165 0.076935 0.075996 0.075079 0.074187 0.073325 \n",
"13 0.078326 0.077604 0.075863 0.075014 0.074187 0.073388 0.072618 \n",
"14 0.077688 0.077079 0.074818 0.074061 0.073325 0.072618 0.071942 \n"
]
}
],
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

@@ -1805,19 +1805,7 @@
"collapsed": false,
"editable": true
},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'cvxopt'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mcvxopt\u001b[39;00m\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'cvxopt'"
]
}
],
"outputs": [],
"source": [
"import numpy\n",
"import cvxopt"
@@ -1944,12 +1932,21 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 5,
"metadata": {
"collapsed": false,
"editable": true
},
"outputs": [],
"outputs": [
{
"ename": "SyntaxError",
"evalue": "invalid character '' (U+2019) (3974140161.py, line 5)",
"output_type": "error",
"traceback": [
"\u001b[0;36m Input \u001b[0;32mIn [5]\u001b[0;36m\u001b[0m\n\u001b[0;31m P = matrix(numpy.diag([1,0]), tc=d)\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid character '' (U+2019)\n"
]
}
],
"source": [
"# Import the necessary packages\n",
"import numpy\n",
@@ -1066,7 +1066,7 @@ import cvxopt
# Since we don't have any equalities the matrix $\boldsymbol{A}$ is set to zero
# The following code solves the equations for us
# In[ ]:
# In[5]:
# Import the necessary packages
File diff suppressed because one or more lines are too long
@@ -422,7 +422,7 @@ cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'
os.system(cmd)
# In[ ]:
# In[3]:
# Common imports
@@ -455,7 +455,7 @@ os.system(cmd)
#
# **Scikit-Learn** has also another way to visualize the trees which is very useful, here with the Iris data.
# In[ ]:
# In[4]:
from sklearn.datasets import load_iris
@@ -470,7 +470,7 @@ tree.plot_tree(tree_clf)
# Alternatively, the tree can also be exported in textual format with the function exporttext.
# This method doesnt require the installation of external libraries and is more compact:
# In[ ]:
# In[5]:
from sklearn.datasets import load_iris
@@ -584,7 +584,7 @@ print(r)
#
# ### Simple Python Code to read in Data and perform Classification
# In[ ]:
# In[6]:
# Common imports
Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 36 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

@@ -283,12 +283,20 @@
},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'flatbuffers'",
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mhjensen/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lib/__init__.py:32: UserWarning: JAX on Mac ARM machines is experimental and minimally tested. Please see https://github.com/google/jax/issues/5501 in the event of problems.\n",
" warnings.warn(\"JAX on Mac ARM machines is experimental and minimally tested. \"\n"
]
},
{
"ename": "AttributeError",
"evalue": "module 'jaxlib.pocketfft' has no attribute 'pocketfft'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [1]\u001b[0m, in \u001b[0;36m<cell line: 5>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtime\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m----> 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mtf\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m image\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mplt\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/__init__.py:51\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m autograph\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m bitwise\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compat\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mv2\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m data\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/_api/v2/compat/__init__.py:37\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"Compatibility functions.\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \n\u001b[1;32m 5\u001b[0m \u001b[38;5;124;03mThe `tf.compat` module contains two sets of compatibility functions.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 32\u001b[0m \n\u001b[1;32m 33\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 35\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m---> 37\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m v1\n\u001b[1;32m 38\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m v2\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcompat\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m forward_compatibility_horizon\n",
@@ -300,8 +308,15 @@
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/_api/v2/compat/v1/lite/experimental/authoring/__init__.py:8\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124;03m\"\"\"Public API for tf.lite.experimental.authoring namespace.\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msys\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01m_sys\u001b[39;00m\n\u001b[0;32m----> 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauthoring\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mauthoring\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m compatible\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/authoring/authoring.py:43\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;66;03m# pylint: disable=g-import-not-at-top\u001b[39;00m\n\u001b[0;32m---> 43\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m convert\n\u001b[1;32m 44\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lite\n\u001b[1;32m 45\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmetrics\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m converter_error_data_pb2\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/convert.py:29\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lite_constants\n\u001b[0;32m---> 29\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m util\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m wrap_toco\n\u001b[1;32m 31\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconvert_phase\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Component\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/util.py:26\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01msix\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmoves\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;28mrange\u001b[39m\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mflatbuffers\u001b[39;00m\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprotobuf\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m config_pb2 \u001b[38;5;28;01mas\u001b[39;00m _config_pb2\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtensorflow\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mprotobuf\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m graph_debug_info_pb2\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'flatbuffers'"
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/tensorflow/lite/python/util.py:51\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[38;5;66;03m# Jax functions used by TFLite\u001b[39;00m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;66;03m# pylint: disable=g-import-not-at-top\u001b[39;00m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;66;03m# pylint: disable=unused-import\u001b[39;00m\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m xla_computation \u001b[38;5;28;01mas\u001b[39;00m _xla_computation\n\u001b[1;32m 52\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[1;32m 53\u001b[0m _xla_computation \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/__init__.py:116\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mconfig\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 41\u001b[0m config \u001b[38;5;28;01mas\u001b[39;00m config,\n\u001b[1;32m 42\u001b[0m enable_checks \u001b[38;5;28;01mas\u001b[39;00m enable_checks,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 51\u001b[0m numpy_rank_promotion \u001b[38;5;28;01mas\u001b[39;00m numpy_rank_promotion,\n\u001b[1;32m 52\u001b[0m )\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mapi\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 54\u001b[0m ad, \u001b[38;5;66;03m# TODO(phawkins): update users to avoid this.\u001b[39;00m\n\u001b[1;32m 55\u001b[0m checkpoint \u001b[38;5;28;01mas\u001b[39;00m checkpoint,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 114\u001b[0m xla_computation \u001b[38;5;28;01mas\u001b[39;00m xla_computation,\n\u001b[1;32m 115\u001b[0m )\n\u001b[0;32m--> 116\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexperimental\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmaps\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m soft_pmap \u001b[38;5;28;01mas\u001b[39;00m soft_pmap\n\u001b[1;32m 117\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mversion\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m __version__ \u001b[38;5;28;01mas\u001b[39;00m __version__\n\u001b[1;32m 119\u001b[0m \u001b[38;5;66;03m# These submodules are separate because they are in an import cycle with\u001b[39;00m\n\u001b[1;32m 120\u001b[0m \u001b[38;5;66;03m# jax and rely on the names imported above.\u001b[39;00m\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/experimental/maps.py:26\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m wraps, partial, partialmethod\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01menum\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Enum\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m numpy \u001b[38;5;28;01mas\u001b[39;00m jnp\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m core\n\u001b[1;32m 28\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linear_util \u001b[38;5;28;01mas\u001b[39;00m lu\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/numpy/__init__.py:19\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2018 Google LLC\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 17\u001b[0m \n\u001b[1;32m 18\u001b[0m \u001b[38;5;66;03m# flake8: noqa: F401\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m fft \u001b[38;5;28;01mas\u001b[39;00m fft\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m linalg \u001b[38;5;28;01mas\u001b[39;00m linalg\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01minterpreters\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mxla\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m DeviceArray \u001b[38;5;28;01mas\u001b[39;00m DeviceArray\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/numpy/fft.py:17\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Copyright 2020 Google LLC\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Licensed under the Apache License, Version 2.0 (the \"License\");\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 14\u001b[0m \n\u001b[1;32m 15\u001b[0m \u001b[38;5;66;03m# flake8: noqa: F401\u001b[39;00m\n\u001b[0;32m---> 17\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfft\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 18\u001b[0m ifft \u001b[38;5;28;01mas\u001b[39;00m ifft,\n\u001b[1;32m 19\u001b[0m ifft2 \u001b[38;5;28;01mas\u001b[39;00m ifft2,\n\u001b[1;32m 20\u001b[0m ifftn \u001b[38;5;28;01mas\u001b[39;00m ifftn,\n\u001b[1;32m 21\u001b[0m ifftshift \u001b[38;5;28;01mas\u001b[39;00m ifftshift,\n\u001b[1;32m 22\u001b[0m ihfft \u001b[38;5;28;01mas\u001b[39;00m ihfft,\n\u001b[1;32m 23\u001b[0m irfft \u001b[38;5;28;01mas\u001b[39;00m irfft,\n\u001b[1;32m 24\u001b[0m irfft2 \u001b[38;5;28;01mas\u001b[39;00m irfft2,\n\u001b[1;32m 25\u001b[0m irfftn \u001b[38;5;28;01mas\u001b[39;00m irfftn,\n\u001b[1;32m 26\u001b[0m fft \u001b[38;5;28;01mas\u001b[39;00m fft,\n\u001b[1;32m 27\u001b[0m fft2 \u001b[38;5;28;01mas\u001b[39;00m fft2,\n\u001b[1;32m 28\u001b[0m fftfreq \u001b[38;5;28;01mas\u001b[39;00m fftfreq,\n\u001b[1;32m 29\u001b[0m fftn \u001b[38;5;28;01mas\u001b[39;00m fftn,\n\u001b[1;32m 30\u001b[0m fftshift \u001b[38;5;28;01mas\u001b[39;00m fftshift,\n\u001b[1;32m 31\u001b[0m hfft \u001b[38;5;28;01mas\u001b[39;00m hfft,\n\u001b[1;32m 32\u001b[0m rfft \u001b[38;5;28;01mas\u001b[39;00m rfft,\n\u001b[1;32m 33\u001b[0m rfft2 \u001b[38;5;28;01mas\u001b[39;00m rfft2,\n\u001b[1;32m 34\u001b[0m rfftfreq \u001b[38;5;28;01mas\u001b[39;00m rfftfreq,\n\u001b[1;32m 35\u001b[0m rfftn \u001b[38;5;28;01mas\u001b[39;00m rfftn,\n\u001b[1;32m 36\u001b[0m )\n\u001b[1;32m 38\u001b[0m \u001b[38;5;66;03m# Module initialization is encapsulated in a function to avoid accidental\u001b[39;00m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# namespace pollution.\u001b[39;00m\n\u001b[1;32m 40\u001b[0m _NOT_IMPLEMENTED \u001b[38;5;241m=\u001b[39m []\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/numpy/fft.py:19\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01moperator\u001b[39;00m\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m---> 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m lax\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlib\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m xla_client\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m safe_zip\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/lax/__init__.py:332\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 299\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (_reduce_sum, _reduce_max, _reduce_min, _reduce_or,\n\u001b[1;32m 300\u001b[0m _reduce_and, _reduce_window_sum, _reduce_window_max,\n\u001b[1;32m 301\u001b[0m _reduce_window_min, _reduce_window_prod,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 306\u001b[0m _upcast_fp16_for_computation, _broadcasting_shape_rule,\n\u001b[1;32m 307\u001b[0m _eye, _tri, _delta, _ones, _zeros, _dilate_shape)\n\u001b[1;32m 308\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcontrol_flow\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 309\u001b[0m associative_scan \u001b[38;5;28;01mas\u001b[39;00m associative_scan,\n\u001b[1;32m 310\u001b[0m cond \u001b[38;5;28;01mas\u001b[39;00m cond,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 330\u001b[0m while_p \u001b[38;5;28;01mas\u001b[39;00m while_p,\n\u001b[1;32m 331\u001b[0m )\n\u001b[0;32m--> 332\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfft\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 333\u001b[0m fft \u001b[38;5;28;01mas\u001b[39;00m fft,\n\u001b[1;32m 334\u001b[0m fft_p \u001b[38;5;28;01mas\u001b[39;00m fft_p,\n\u001b[1;32m 335\u001b[0m )\n\u001b[1;32m 336\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mparallel\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 337\u001b[0m all_gather \u001b[38;5;28;01mas\u001b[39;00m all_gather,\n\u001b[1;32m 338\u001b[0m all_to_all \u001b[38;5;28;01mas\u001b[39;00m all_to_all,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 355\u001b[0m xeinsum \u001b[38;5;28;01mas\u001b[39;00m xeinsum,\n\u001b[1;32m 356\u001b[0m )\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mjax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01m_src\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mlax\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mother\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m (\n\u001b[1;32m 358\u001b[0m conv_general_dilated_patches \u001b[38;5;28;01mas\u001b[39;00m conv_general_dilated_patches\n\u001b[1;32m 359\u001b[0m )\n",
"File \u001b[0;32m~/miniforge3/envs/myenv/lib/python3.9/site-packages/jax/_src/lax/fft.py:145\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 143\u001b[0m batching\u001b[38;5;241m.\u001b[39mprimitive_batchers[fft_p] \u001b[38;5;241m=\u001b[39m fft_batching_rule\n\u001b[1;32m 144\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m pocketfft:\n\u001b[0;32m--> 145\u001b[0m xla\u001b[38;5;241m.\u001b[39mbackend_specific_translations[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m'\u001b[39m][fft_p] \u001b[38;5;241m=\u001b[39m \u001b[43mpocketfft\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpocketfft\u001b[49m\n",
"\u001b[0;31mAttributeError\u001b[0m: module 'jaxlib.pocketfft' has no attribute 'pocketfft'"
]
}
],
@@ -225,8 +225,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[-1.25902112 -0.51174395 -0.29276615 1.6489862 -1.69115646 1.62620724\n",
" 0.65444431 -1.35346808 -0.20316225 1.12630042]\n"
"[-0.38763091 -2.70501534 -0.3581571 -0.96251494 -1.26223899 0.35309734\n",
" 2.28186376 -1.85104809 -0.37114298 -1.20893188]\n"
]
}
],
@@ -662,26 +662,26 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.26185107 0.82454365 0.97434186 0.56556315 0.58187347 0.72509099\n",
" 0.19158446 0.3263505 0.0536097 0.90066122]\n",
" [0.34678929 0.66981186 0.44152248 0.20299677 0.1614891 0.68485505\n",
" 0.43333886 0.45741697 0.31311243 0.88001352]\n",
" [0.29661191 0.05268304 0.98153145 0.9007164 0.69481746 0.35319678\n",
" 0.88063413 0.06319374 0.06695337 0.75350216]\n",
" [0.15089627 0.58671946 0.13734823 0.72394787 0.38019139 0.422275\n",
" 0.35821426 0.49282737 0.19144544 0.84653115]\n",
" [0.38637915 0.8049181 0.49672291 0.98699753 0.8192798 0.05850532\n",
" 0.00152188 0.13131825 0.31229747 0.40183706]\n",
" [0.8705211 0.1472032 0.22567203 0.55202922 0.62683307 0.41566661\n",
" 0.23659936 0.85086629 0.85120833 0.79135075]\n",
" [0.31377492 0.38629844 0.33956555 0.64064128 0.42028578 0.58474054\n",
" 0.71760245 0.51732028 0.31211671 0.35894575]\n",
" [0.78286771 0.72594302 0.22821344 0.23962594 0.48739546 0.59190877\n",
" 0.8557822 0.44830642 0.90595152 0.9626883 ]\n",
" [0.34498451 0.90694878 0.15442554 0.43560678 0.89045167 0.21654926\n",
" 0.00355118 0.18695705 0.61123608 0.7386068 ]\n",
" [0.30813073 0.26549135 0.96812218 0.94321297 0.81592628 0.60980325\n",
" 0.4284066 0.8792323 0.92968793 0.82073684]]\n"
"[[0.78459267 0.75453081 0.05363779 0.57350724 0.69764852 0.65795279\n",
" 0.51507839 0.20461136 0.38788697 0.96496641]\n",
" [0.25028968 0.96081861 0.18931988 0.51108791 0.30337713 0.43036842\n",
" 0.52839842 0.15321987 0.78561443 0.09030825]\n",
" [0.10097956 0.50584526 0.34989509 0.55626454 0.69154964 0.2895238\n",
" 0.13393141 0.15503141 0.26015755 0.42902155]\n",
" [0.25789255 0.9492866 0.90252116 0.904221 0.51933924 0.14432948\n",
" 0.54445121 0.02699523 0.18657863 0.971688 ]\n",
" [0.13392097 0.27801122 0.50931378 0.04234339 0.22442417 0.44065609\n",
" 0.74943449 0.42451192 0.33736485 0.97952271]\n",
" [0.95824108 0.59950055 0.91346044 0.58042237 0.13228567 0.31519573\n",
" 0.12427889 0.64736858 0.60236782 0.18036103]\n",
" [0.95911004 0.82027884 0.27547877 0.84317815 0.89842298 0.68322599\n",
" 0.02377668 0.39943328 0.00162091 0.0525221 ]\n",
" [0.94076632 0.88335933 0.75492292 0.7860324 0.41923956 0.86181269\n",
" 0.45979894 0.44190304 0.07829878 0.00458014]\n",
" [0.42915006 0.68127341 0.23875722 0.31988705 0.54956992 0.24801014\n",
" 0.65335632 0.97713364 0.05635863 0.12160173]\n",
" [0.93386901 0.74935095 0.96534137 0.98400474 0.98581925 0.30313128\n",
" 0.41386599 0.88450476 0.87099757 0.22566121]]\n"
]
}
],
@@ -800,13 +800,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
"-0.2246674023625205\n",
"3.345687771875474\n",
"-0.6084611325305795\n",
"[[ 1.17709473 3.57810065 3.67258699]\n",
" [ 3.57810065 11.8548082 11.12152272]\n",
" [ 3.67258699 11.12152272 15.62249103]]\n",
"[26.06969872 0.07319349 2.51150176]\n"
"0.0626202708457115\n",
"4.327883798133277\n",
"0.3178411477108273\n",
"[[ 1.01422853 3.21909039 2.82750687]\n",
" [ 3.21909039 11.42694395 9.22887861]\n",
" [ 2.82750687 9.22887861 17.2086376 ]]\n",
"[24.72855434 0.09533574 4.82592 ]\n"
]
}
],
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@@ -985,8 +985,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.39864527 -1.50219982 -0.24611674 -0.52819229 -0.24533566 -0.85694362\n",
" -0.81955926 0.14252712 -1.00625843 -0.23732849]\n"
"[-0.03483677 -1.06136773 0.56481272 -0.35947075 -1.64972151 -1.58590795\n",
" -1.17428293 0.7225597 -1.14061742 -1.22893751]\n"
]
}
],
@@ -1424,26 +1424,26 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.99374388 0.68029036 0.03324117 0.4017308 0.92888885 0.12434807\n",
" 0.9538239 0.15899253 0.48442336 0.72057967]\n",
" [0.16840081 0.01852793 0.10950766 0.25522012 0.78674758 0.65280103\n",
" 0.220968 0.61634314 0.25115233 0.05622775]\n",
" [0.87927601 0.35147532 0.62432074 0.16167387 0.49242688 0.12934015\n",
" 0.50812169 0.35123041 0.95054046 0.66638078]\n",
" [0.08887708 0.95994091 0.21927988 0.05833369 0.49974854 0.20999563\n",
" 0.28102554 0.01479194 0.84942942 0.30702075]\n",
" [0.29672381 0.99820454 0.56848886 0.32190363 0.13320535 0.31768693\n",
" 0.80280228 0.59654302 0.25116851 0.81681019]\n",
" [0.50799086 0.13261136 0.33078983 0.53623614 0.14174062 0.06662062\n",
" 0.32183101 0.8338786 0.32766274 0.88595926]\n",
" [0.12539459 0.60176806 0.12885048 0.00708794 0.66614025 0.70727837\n",
" 0.87849647 0.05491655 0.37157712 0.93325497]\n",
" [0.56343926 0.23056012 0.97840468 0.82484316 0.9956582 0.53822787\n",
" 0.53219937 0.58312967 0.14617985 0.59468796]\n",
" [0.67054028 0.4304167 0.38299798 0.16397496 0.81912272 0.54894095\n",
" 0.53254035 0.17826349 0.01551946 0.54969168]\n",
" [0.92373266 0.86361743 0.27525917 0.59367954 0.85843684 0.40389922\n",
" 0.8074242 0.59323905 0.51075117 0.79552752]]\n"
"[[0.24279008 0.63112036 0.80947943 0.97509292 0.19425617 0.3957482\n",
" 0.1655226 0.83760781 0.07995375 0.76400155]\n",
" [0.75621895 0.20893514 0.93082503 0.79419162 0.02783644 0.21296315\n",
" 0.64298419 0.34578026 0.60975366 0.46369869]\n",
" [0.77859437 0.23477043 0.35438626 0.63115792 0.2460037 0.35568525\n",
" 0.0825971 0.94117118 0.14900336 0.30035718]\n",
" [0.36692356 0.78972773 0.67655635 0.67160204 0.80108096 0.31507591\n",
" 0.21328866 0.41340248 0.3005849 0.40672425]\n",
" [0.21922061 0.88274486 0.86572911 0.06486061 0.07565581 0.26678445\n",
" 0.03265139 0.22090974 0.33135331 0.66973261]\n",
" [0.7221662 0.96941962 0.39707147 0.24929083 0.31531613 0.33079801\n",
" 0.06538944 0.42352791 0.94227931 0.27809912]\n",
" [0.07195822 0.31719317 0.47248297 0.18264218 0.64033527 0.51146442\n",
" 0.49545491 0.91936525 0.81656508 0.78329097]\n",
" [0.58666142 0.01646892 0.11029323 0.67442363 0.6914791 0.87902877\n",
" 0.98950411 0.27090196 0.08732305 0.89543736]\n",
" [0.25253892 0.57505712 0.24848907 0.9631064 0.46312791 0.96431281\n",
" 0.28744729 0.09772449 0.17676228 0.51656406]\n",
" [0.68664664 0.63281351 0.62806444 0.36809474 0.98129668 0.62914124\n",
" 0.37885034 0.6577093 0.57947706 0.24688732]]\n"
]
}
],
@@ -1557,13 +1557,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
"-0.007334080205654388\n",
"3.9196398947631166\n",
"0.49680475019226\n",
"[[ 0.83982725 2.39595799 2.20255857]\n",
" [ 2.39595799 8.04496448 5.72101205]\n",
" [ 2.20255857 5.72101205 10.77494715]]\n",
"[15.97477238 0.08363087 3.60133562]\n"
"-0.19542686939553625\n",
"3.3929303193461995\n",
"-0.3886211842840971\n",
"[[ 0.96552318 2.67354673 2.55640013]\n",
" [ 2.67354673 8.3318361 7.41646135]\n",
" [ 2.55640013 7.41646135 11.19890453]]\n",
"[18.10686259 0.09289204 2.29650918]\n"
]
}
],
@@ -1916,7 +1916,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_65914/1326197715.py:6: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
"/var/folders/td/3yk470mj5p931p9dtkk0y6jw0000gn/T/ipykernel_20702/1326197715.py:6: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.\n",
" data_pandas=data_pandas.append(pd.DataFrame(new_hobbit, index=['Pippin']))\n"
]
},
File diff suppressed because it is too large Load Diff
@@ -1990,7 +1990,7 @@ print(C-X)
# function, that is we have
# $$
# \frac{\partial^2 C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}^T\partial \boldsymbol{\beta}} =\frac{2}{n}\boldsymbol{X}^T\boldsymbol{X}.
# \frac{\partial^2 C(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}\partial \boldsymbol{\beta}^T} =\frac{2}{n}\boldsymbol{X}^T\boldsymbol{X}.
# $$
# This quantity defines was what is called the Hessian matrix (the second derivative of a function we want to optimize).
@@ -2046,7 +2046,7 @@ print(C-X)
# method corrects the bias in the estimation of the population variance
# and covariance. It also partially corrects the bias in the estimation
# of the population standard deviation. If you use a library like
# **Scikit-Learn** or **nunmpy's** function calculate the covariance, this
# **Scikit-Learn** or **nunmpy's** function to calculate the covariance, this
# quantity will be computed with a factor $1/(n-1)$.
# ## Covariance and Correlation Matrix