<p>Usually, this is a little bit tricky, let me share with you what is on top of my mind:</p>
<ol>
<li><p>if you just want to get a sense of what's happing inside a simple neural net check out this <a href="https://www.cs.ryerson.ca/%7Eaharley/vis/conv/" rel="nofollow noreferrer">link</a>.</p>
</li>
<li><p>If you want to visualize check <a href="https://github.com/charliedavenport/LeNet-MNIST-Demo" rel="nofollow noreferrer">this repo</a>. you just need to sync the last sections of the notebook with your model, it has a cool animation which you can see for LENET MNIST</p>
</li>
<li><p>More technical concepts getting a sense of how a CNN like model make a decision is covered with topics like XAI, and more specifically <a href="https://arxiv.org/abs/1610.02391" rel="nofollow noreferrer">grad-cam</a></p>
</li>
</ol>
<p>Hope these are helpful.</p>
How can I see processed image during CNN?
<p>Im working on python deep learning code right now. And I want to know what is going on inside the network I designed. Down here is my sample code Im working on.</p>
<p>My question is, is it possible to see the processed image inside Network? For example, I want to see how my input image changed after &quot;p1&quot; and &quot;p2&quot;. Is it possible? If it is possible, how can I see it?</p>
<pre><code>import tensorflow as tf
IMG_WIDTH = 256
IMG_HEIGHT = 256
IMG_CHANNELS = 3
#define input
inputs = tf.keras.layers.Input(shape=(IMG_WIDTH, IMG_HEIGHT, IMG_CHANNELS))
# s = tf.keras.layers.Lambda(lambda x: x/255)(inputs)

#define Contraction path
c1_1 = tf.keras.layers.Conv2D(64,(3,3),activation='relu', padding='same')(inputs)
c1_2 = tf.keras.layers.Conv2D(64,(3,3),activation='relu', padding='same')(c1_1)
p1 = tf.keras.layers.MaxPooling2D((2,2), strides = 2)(c1_2)

c2_1 = tf.keras.layers.Conv2D(128,(3,3),activation='relu', padding='same')(p1)
c2_2 = tf.keras.layers.Conv2D(128,(3,3),activation='relu', padding='same')(c2_1)
p2 = tf.keras.layers.MaxPooling2D((2,2), strides = 2)(c2_2)
</code></pre>