whether is imageInputLayer flattened?

1 Ansicht (letzte 30 Tage)
Shuwei Wang
Shuwei Wang am 11 Sep. 2024
Bearbeitet: Matt J am 11 Sep. 2024
I am reading document about imageinputlayer for digits dataset. I find inputsize layer and then can be followed by a fully connected layer. I am confused here. Whether does it mean that inputlayer is flatten automatically how do i know this information since it is not written in document? could you let me know how it works for the inputsize layer?

Akzeptierte Antwort

Matt J
Matt J am 11 Sep. 2024
Bearbeitet: Matt J am 11 Sep. 2024
No, an imageInputLayer does not reshape the input that it receives, as demonstrated in the following,
net=dlnetwork(imageInputLayer([3,4,2]));
out = net.predict(rand(3,4,2))
out = 3x4x2 single array
out(:,:,1) = 0.2145 0.9789 0.6522 0.1829 0.1731 0.9383 0.7773 0.6584 0.1303 0.3399 0.2938 0.7219 out(:,:,2) = 0.2146 0.5021 0.7534 0.5433 0.1258 0.8415 0.3084 0.5208 0.8195 0.3574 0.6682 0.9907
A fullyConnectedLayer does keep its Weights in flattened form, as shown below. That may or may not mean that it flattens the input it receives when it comes time to apply the weights. It doesn't really matter, though. The point is, you are not responsible for doing any reshaping/flattening. That is taken care of internally by the layer when its predict() method is called..
net=dlnetwork([imageInputLayer([3,4,2]), fullyConnectedLayer(6)], dlarray(out,"SSC"));
size(net.Layers(2).Weights)
ans = 1x2
6 24
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
net.predict(rand(3,4,2))
ans = 1x6
-0.5368 0.5171 0.5833 0.9237 -0.0548 0.3494
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Weitere Antworten (0)

Kategorien

Mehr zu Image Data Workflows finden Sie in Help Center und File Exchange

Produkte


Version

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by