update on notes

This commit is contained in:
Morten Hjorth-Jensen
2023-11-06 06:36:30 +01:00
parent 218167a73f
commit 71b528ed83
74 changed files with 14208 additions and 5101 deletions
+229 -26
View File
@@ -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="Project 1 on Machine Learning, deadline October 9 (midnight), 2023" href="project1.html" />
<link rel="next" title="Week 45, Recurrent Neural Networks" href="week45.html" />
<link rel="prev" title="Week 43: Deep Learning: Constructing a Neural Network code and solving differential equations" href="week43.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="None">
@@ -348,6 +348,11 @@ const thebe_selector_output = ".output, .cell_output"
Week 44, Convolutional Neural Networks (CNN)
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="week45.html">
Week 45, Recurrent Neural Networks
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
@@ -1206,7 +1211,9 @@ doconce format html week44.do.txt --no_mako -->
<li><p>Exercise on writing your own neural network code, application to the OR and XOR gates, see notes from last week</p></li>
<li><p>The exercise this week is a continuation from last week</p></li>
<li><p>Discussion of project 2</p></li>
<li><p><a class="reference external" href="https://youtu.be/Ia6wwDLxqtM">Video of lab session from last week</a></p></li>
<li><p><a class="reference external" href="https://youtu.be/Ia6wwDLxqtM">Video of lab session from week 43</a></p></li>
<li><p><a class="reference external" href="https://youtu.be/EajWMW__k0I">Video of lab session from week 44</a></p></li>
<li><p><a class="reference external" href="https://github.com/CompPhysics/MachineLearning/blob/master/doc/HandWrittenNotes/2023/Exercisesweek44.pdf">See also whiteboard notes from lab session week 44</a></p></li>
</ul>
<p><strong>Material for the lecture on Thursday November 2, 2023.</strong></p>
<ul class="simple">
@@ -2228,7 +2235,7 @@ labels = (n_inputs) = (1797,)
</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/keras/optimizer_v2/gradient_descent.py:102: UserWarning: The `lr` argument is deprecated, use `learning_rate` instead.
super(SGD, self).__init__(name, **kwargs)
2023-10-30 10:31:09.117456: W tensorflow/core/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz
2023-11-06 06:34:51.825607: W tensorflow/core/platform/profile_utils/cpu_utils.cc:128] Failed to get CPU frequency: 0 Hz
</pre></div>
</div>
<div class="output traceback highlight-ipythontb notranslate"><div class="highlight"><pre><span></span><span class="gt">---------------------------------------------------------------------------</span>
@@ -2373,6 +2380,112 @@ labels = (n_inputs) = (1797,)
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>45/45 [==============================] - 4s 83ms/step - loss: 3.3532 - accuracy: 0.1134
12/12 [==============================] - 1s 66ms/step - loss: 3.4256 - accuracy: 0.0917
45/45 [==============================] - 4s 78ms/step - loss: 3.3619 - accuracy: 0.1141
12/12 [==============================] - 1s 64ms/step - loss: 3.4338 - accuracy: 0.0944
45/45 [==============================] - 3s 76ms/step - loss: 3.4466 - accuracy: 0.1141
12/12 [==============================] - 1s 62ms/step - loss: 3.5186 - accuracy: 0.0944
45/45 [==============================] - 4s 78ms/step - loss: 4.2927 - accuracy: 0.1141
12/12 [==============================] - 1s 66ms/step - loss: 4.3646 - accuracy: 0.0944
45/45 [==============================] - 3s 76ms/step - loss: 12.7049 - accuracy: 0.1141
12/12 [==============================] - 1s 63ms/step - loss: 12.7761 - accuracy: 0.0944
45/45 [==============================] - 3s 74ms/step - loss: 91.9603 - accuracy: 0.1134
12/12 [==============================] - 1s 59ms/step - loss: 92.0269 - accuracy: 0.0944
45/45 [==============================] - 3s 76ms/step - loss: 519.9026 - accuracy: 0.1148
12/12 [==============================] - 1s 62ms/step - loss: 519.9384 - accuracy: 0.0972
45/45 [==============================] - 4s 79ms/step - loss: 1.4512 - accuracy: 0.5449
12/12 [==============================] - 1s 62ms/step - loss: 1.5349 - accuracy: 0.4694
45/45 [==============================] - 3s 75ms/step - loss: 1.4605 - accuracy: 0.5470
12/12 [==============================] - 1s 62ms/step - loss: 1.5442 - accuracy: 0.4667
45/45 [==============================] - 4s 80ms/step - loss: 1.5454 - accuracy: 0.5477
12/12 [==============================] - 1s 64ms/step - loss: 1.6288 - accuracy: 0.4667
45/45 [==============================] - 3s 76ms/step - loss: 2.3881 - accuracy: 0.5435
12/12 [==============================] - 1s 68ms/step - loss: 2.4714 - accuracy: 0.4722
45/45 [==============================] - 4s 80ms/step - loss: 10.3364 - accuracy: 0.5393
12/12 [==============================] - 1s 63ms/step - loss: 10.4141 - accuracy: 0.4556
45/45 [==============================] - 4s 79ms/step - loss: 53.4810 - accuracy: 0.4983
12/12 [==============================] - 1s 65ms/step - loss: 53.5240 - accuracy: 0.4472
45/45 [==============================] - 3s 76ms/step - loss: 4.6258 - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: 4.6259 - accuracy: 0.0889
45/45 [==============================] - 4s 80ms/step - loss: 0.1946 - accuracy: 0.9534
12/12 [==============================] - 1s 67ms/step - loss: 0.2641 - accuracy: 0.9194
45/45 [==============================] - 3s 77ms/step - loss: 0.2027 - accuracy: 0.9541
12/12 [==============================] - 1s 64ms/step - loss: 0.2736 - accuracy: 0.9167
45/45 [==============================] - 4s 79ms/step - loss: 0.2901 - accuracy: 0.9541
12/12 [==============================] - 1s 65ms/step - loss: 0.3604 - accuracy: 0.9167
45/45 [==============================] - 3s 77ms/step - loss: 1.1123 - accuracy: 0.9520
12/12 [==============================] - 1s 58ms/step - loss: 1.1848 - accuracy: 0.9167
45/45 [==============================] - 4s 81ms/step - loss: 5.7392 - accuracy: 0.9415
12/12 [==============================] - 1s 61ms/step - loss: 5.7980 - accuracy: 0.9250
45/45 [==============================] - 3s 77ms/step - loss: 2.5993 - accuracy: 0.4085
12/12 [==============================] - 1s 65ms/step - loss: 2.6003 - accuracy: 0.3472
45/45 [==============================] - 3s 77ms/step - loss: 2.3024 - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: 2.3032 - accuracy: 0.0889
45/45 [==============================] - 4s 79ms/step - loss: 0.0180 - accuracy: 1.0000
12/12 [==============================] - 1s 66ms/step - loss: 0.0958 - accuracy: 0.9694
45/45 [==============================] - 4s 80ms/step - loss: 0.0280 - accuracy: 0.9986
12/12 [==============================] - 1s 68ms/step - loss: 0.1060 - accuracy: 0.9750
45/45 [==============================] - 3s 77ms/step - loss: 0.1148 - accuracy: 0.9986
12/12 [==============================] - 1s 67ms/step - loss: 0.1862 - accuracy: 0.9778
45/45 [==============================] - 3s 76ms/step - loss: 0.6357 - accuracy: 0.9958
12/12 [==============================] - 1s 67ms/step - loss: 0.6819 - accuracy: 0.9750
45/45 [==============================] - 3s 76ms/step - loss: 0.9286 - accuracy: 0.9499
12/12 [==============================] - 1s 65ms/step - loss: 0.9978 - accuracy: 0.9028
45/45 [==============================] - 3s 75ms/step - loss: 2.3020 - accuracy: 0.1044
12/12 [==============================] - 1s 64ms/step - loss: 2.3064 - accuracy: 0.0889
45/45 [==============================] - 4s 78ms/step - loss: 2.3020 - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: 2.3065 - accuracy: 0.0889
45/45 [==============================] - 4s 78ms/step - loss: 0.0060 - accuracy: 1.0000
12/12 [==============================] - 1s 62ms/step - loss: 0.2141 - accuracy: 0.9528
45/45 [==============================] - 3s 76ms/step - loss: 0.0368 - accuracy: 0.9930
12/12 [==============================] - 1s 65ms/step - loss: 0.2714 - accuracy: 0.9472
45/45 [==============================] - 4s 80ms/step - loss: 0.1343 - accuracy: 0.9910
12/12 [==============================] - 1s 68ms/step - loss: 0.2996 - accuracy: 0.9556
45/45 [==============================] - 4s 78ms/step - loss: 0.4220 - accuracy: 0.9207
12/12 [==============================] - 1s 66ms/step - loss: 0.6088 - accuracy: 0.8611
45/45 [==============================] - 4s 79ms/step - loss: 1.6795 - accuracy: 0.6764
12/12 [==============================] - 1s 61ms/step - loss: 1.7069 - accuracy: 0.6556
45/45 [==============================] - 4s 79ms/step - loss: 2.3020 - accuracy: 0.1044
12/12 [==============================] - 1s 67ms/step - loss: 2.3077 - accuracy: 0.0778
45/45 [==============================] - 4s 80ms/step - loss: nan - accuracy: 0.1044
12/12 [==============================] - 1s 68ms/step - loss: nan - accuracy: 0.0778
45/45 [==============================] - 4s 81ms/step - loss: 21.9981 - accuracy: 0.1044
12/12 [==============================] - 1s 67ms/step - loss: 22.0022 - accuracy: 0.0778
45/45 [==============================] - 4s 79ms/step - loss: 44.1977 - accuracy: 0.1044
12/12 [==============================] - 1s 67ms/step - loss: 44.2070 - accuracy: 0.0778
45/45 [==============================] - 3s 77ms/step - loss: 6.3493 - accuracy: 0.1044
12/12 [==============================] - 1s 68ms/step - loss: 6.3536 - accuracy: 0.0778
45/45 [==============================] - 4s 80ms/step - loss: 2.3030 - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: 2.3082 - accuracy: 0.0889
45/45 [==============================] - 4s 79ms/step - loss: 2.3029 - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: 2.3126 - accuracy: 0.0778
45/45 [==============================] - 4s 78ms/step - loss: nan - accuracy: 0.1044
12/12 [==============================] - 1s 64ms/step - loss: nan - accuracy: 0.0778
45/45 [==============================] - 4s 79ms/step - loss: nan - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: nan - accuracy: 0.0778
45/45 [==============================] - 4s 79ms/step - loss: 6130353.0000 - accuracy: 0.1009
12/12 [==============================] - 1s 66ms/step - loss: 6130353.0000 - accuracy: 0.1056
45/45 [==============================] - 3s 77ms/step - loss: 388451.4375 - accuracy: 0.1016
12/12 [==============================] - 1s 68ms/step - loss: 388451.5000 - accuracy: 0.0917
45/45 [==============================] - 4s 80ms/step - loss: 2.4241 - accuracy: 0.1044
12/12 [==============================] - 1s 66ms/step - loss: 2.4314 - accuracy: 0.0889
45/45 [==============================] - 4s 81ms/step - loss: 2.4394 - accuracy: 0.1037
12/12 [==============================] - 1s 62ms/step - loss: 2.5014 - accuracy: 0.0889
</pre></div>
</div>
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>45/45 [==============================] - 4s 79ms/step - loss: nan - accuracy: 0.1044
12/12 [==============================] - 1s 65ms/step - loss: nan - accuracy: 0.0778
45/45 [==============================] - 4s 81ms/step - loss: nan - accuracy: 0.1044
12/12 [==============================] - 1s 64ms/step - loss: nan - accuracy: 0.0778
45/45 [==============================] - 4s 78ms/step - loss: nan - accuracy: 0.1044
12/12 [==============================] - 1s 67ms/step - loss: nan - accuracy: 0.0778
</pre></div>
</div>
<img alt="_images/week44_135_2.png" src="_images/week44_135_2.png" />
<img alt="_images/week44_135_3.png" src="_images/week44_135_3.png" />
</div>
</div>
</div>
<div class="section" id="the-cifar01-data-set">
@@ -2403,23 +2516,26 @@ exclusive and there is no overlap between them.</p>
<p>To verify that the dataset looks correct, lets plot the first 25 images from the training set and display the class name below each image.</p>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span>class_names = [&#39;airplane&#39;, &#39;automobile&#39;, &#39;bird&#39;, &#39;cat&#39;, &#39;deer&#39;,
&#39;dog&#39;, &#39;frog&#39;, &#39;horse&#39;, &#39;ship&#39;, &#39;truck&#39;]
plt.figure(figsize=(10,10))
for i in range(25):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(train_images[i], cmap=plt.cm.binary)
# The CIFAR labels happen to be arrays,
# which is why you need the extra index
plt.xlabel(class_names[train_labels[i][0]])
plt.show()
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">class_names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;airplane&#39;</span><span class="p">,</span> <span class="s1">&#39;automobile&#39;</span><span class="p">,</span> <span class="s1">&#39;bird&#39;</span><span class="p">,</span> <span class="s1">&#39;cat&#39;</span><span class="p">,</span> <span class="s1">&#39;deer&#39;</span><span class="p">,</span>
<span class="s1">&#39;dog&#39;</span><span class="p">,</span> <span class="s1">&#39;frog&#39;</span><span class="p">,</span> <span class="s1">&#39;horse&#39;</span><span class="p">,</span> <span class="s1">&#39;ship&#39;</span><span class="p">,</span> <span class="s1">&#39;truck&#39;</span><span class="p">]</span>
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">))</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">25</span><span class="p">):</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xticks</span><span class="p">([])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">([])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">train_images</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">cmap</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">cm</span><span class="o">.</span><span class="n">binary</span><span class="p">)</span>
<span class="c1"># The CIFAR labels happen to be arrays, </span>
<span class="c1"># which is why you need the extra index</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="n">class_names</span><span class="p">[</span><span class="n">train_labels</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">]])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<img alt="_images/week44_139_0.png" src="_images/week44_139_0.png" />
</div>
</div>
</div>
<div class="section" id="set-up-the-model">
@@ -2441,6 +2557,31 @@ plt.show()
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Model: &quot;sequential_49&quot;
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_49 (Conv2D) (None, 30, 30, 32) 896
max_pooling2d_49 (MaxPoolin (None, 15, 15, 32) 0
g2D)
conv2d_50 (Conv2D) (None, 13, 13, 64) 18496
max_pooling2d_50 (MaxPoolin (None, 6, 6, 64) 0
g2D)
conv2d_51 (Conv2D) (None, 4, 4, 64) 36928
=================================================================
Total params: 56,320
Trainable params: 56,320
Non-trainable params: 0
_________________________________________________________________
</pre></div>
</div>
</div>
</div>
<p>You can see that the output of every Conv2D and MaxPooling2D layer is a 3D tensor of shape (height, width, channels). The width and height dimensions tend to shrink as you go deeper in the network. The number of output channels for each Conv2D layer is controlled by the first argument (e.g., 32 or 64). Typically, as the width and height shrink, you can afford (computationally) to add more output channels in each Conv2D layer.</p>
</div>
@@ -2458,12 +2599,43 @@ layer with 10 outputs and a softmax activation.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Flatten</span><span class="p">())</span>
<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dense</span><span class="p">(</span><span class="mi">64</span><span class="p">,</span> <span class="n">activation</span><span class="o">=</span><span class="s1">&#39;relu&#39;</span><span class="p">))</span>
<span class="n">model</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">layers</span><span class="o">.</span><span class="n">Dense</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span>
<span class="n">Here</span><span class="s1">&#39;s the complete architecture of our model.</span>
<span class="c1">#Here&#39;s the complete architecture of our model.</span>
<span class="n">model</span><span class="o">.</span><span class="n">summary</span><span class="p">()</span>
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Model: &quot;sequential_49&quot;
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_49 (Conv2D) (None, 30, 30, 32) 896
max_pooling2d_49 (MaxPoolin (None, 15, 15, 32) 0
g2D)
conv2d_50 (Conv2D) (None, 13, 13, 64) 18496
max_pooling2d_50 (MaxPoolin (None, 6, 6, 64) 0
g2D)
conv2d_51 (Conv2D) (None, 4, 4, 64) 36928
flatten_49 (Flatten) (None, 1024) 0
dense_98 (Dense) (None, 64) 65600
dense_99 (Dense) (None, 10) 650
=================================================================
Total params: 122,570
Trainable params: 122,570
Non-trainable params: 0
_________________________________________________________________
</pre></div>
</div>
</div>
</div>
<p>As you can see, our (4, 4, 64) outputs were flattened into vectors of shape (1024) before going through two Dense layers.</p>
</div>
@@ -2471,12 +2643,36 @@ layer with 10 outputs and a softmax activation.</p>
<h2>Compile and train the model<a class="headerlink" href="#compile-and-train-the-model" title="Permalink to this headline"></a></h2>
<div class="cell docutils container">
<div class="cell_input docutils container">
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span>model.compile(optimizer=&#39;adam&#39;,
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=[&#39;accuracy&#39;])
history = model.fit(train_images, train_labels, epochs=10,
validation_data=(test_images, test_labels))
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">model</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="n">optimizer</span><span class="o">=</span><span class="s1">&#39;adam&#39;</span><span class="p">,</span>
<span class="n">loss</span><span class="o">=</span><span class="n">tf</span><span class="o">.</span><span class="n">keras</span><span class="o">.</span><span class="n">losses</span><span class="o">.</span><span class="n">SparseCategoricalCrossentropy</span><span class="p">(</span><span class="n">from_logits</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
<span class="n">metrics</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;accuracy&#39;</span><span class="p">])</span>
<span class="n">history</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">train_images</span><span class="p">,</span> <span class="n">train_labels</span><span class="p">,</span> <span class="n">epochs</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
<span class="n">validation_data</span><span class="o">=</span><span class="p">(</span><span class="n">test_images</span><span class="p">,</span> <span class="n">test_labels</span><span class="p">))</span>
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Epoch 1/10
1563/1563 [==============================] - 28s 15ms/step - loss: 1.5353 - accuracy: 0.4394 - val_loss: 1.2184 - val_accuracy: 0.5616
Epoch 2/10
1563/1563 [==============================] - 18s 12ms/step - loss: 1.1560 - accuracy: 0.5909 - val_loss: 1.0712 - val_accuracy: 0.6214
Epoch 3/10
1563/1563 [==============================] - 20s 13ms/step - loss: 1.0176 - accuracy: 0.6411 - val_loss: 1.0012 - val_accuracy: 0.6527
Epoch 4/10
1563/1563 [==============================] - 18s 12ms/step - loss: 0.9234 - accuracy: 0.6788 - val_loss: 0.9674 - val_accuracy: 0.6599
Epoch 5/10
1563/1563 [==============================] - 18s 12ms/step - loss: 0.8524 - accuracy: 0.7033 - val_loss: 0.8982 - val_accuracy: 0.6890
Epoch 6/10
1563/1563 [==============================] - 18s 11ms/step - loss: 0.7966 - accuracy: 0.7203 - val_loss: 0.9145 - val_accuracy: 0.6835
Epoch 7/10
1563/1563 [==============================] - 18s 11ms/step - loss: 0.7483 - accuracy: 0.7407 - val_loss: 0.9275 - val_accuracy: 0.6849
Epoch 8/10
1563/1563 [==============================] - 17s 11ms/step - loss: 0.7049 - accuracy: 0.7532 - val_loss: 0.9460 - val_accuracy: 0.6781
Epoch 9/10
1563/1563 [==============================] - 21s 13ms/step - loss: 0.6663 - accuracy: 0.7696 - val_loss: 0.8528 - val_accuracy: 0.7078
Epoch 10/10
1563/1563 [==============================] - 19s 12ms/step - loss: 0.6297 - accuracy: 0.7788 - val_loss: 0.8747 - val_accuracy: 0.7032
</pre></div>
</div>
</div>
@@ -2499,6 +2695,13 @@ history = model.fit(train_images, train_labels, epochs=10,
</pre></div>
</div>
</div>
<div class="cell_output docutils container">
<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>313/313 - 2s - loss: 0.8747 - accuracy: 0.7032 - 2s/epoch - 5ms/step
0.7031999826431274
</pre></div>
</div>
<img alt="_images/week44_149_1.png" src="_images/week44_149_1.png" />
</div>
</div>
</div>
<div class="section" id="building-our-own-cnn-code">
@@ -5318,10 +5521,10 @@ optimization technique.</p>
<p class="prev-next-title">Week 43: Deep Learning: Constructing a Neural Network code and solving differential equations</p>
</div>
</a>
<a class='right-next' id="next-link" href="project1.html" title="next page">
<a class='right-next' id="next-link" href="week45.html" title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Project 1 on Machine Learning, deadline October 9 (midnight), 2023</p>
<p class="prev-next-title">Week 45, Recurrent Neural Networks</p>
</div>
<i class="fas fa-angle-right"></i>
</a>