N Neurarch Architectures Models Checks Data Docs Open the app

Models / resnet

resnet-50

Reconstructed from its own config.json with no weights read. 1.6M downloads on Hugging Face.

Our count against the checkpoint

The left number comes from the graph. The right one is the number of scalars in the published weight files. Nothing on this page was tuned to make them agree.

Derived from structure
25.5M
25,527,042 parameters
In the published checkpoint
25.6M
25,610,152 scalars · safetensors.total, read 2026-09-06
Delta
-0.32%

What it costs to run

Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size.

Layers
175
Will it forward-pass
Yes
Priced on
A10G (24GB)
Est. one run
$0.05
CardMemory
T4 (16GB)weights + activationsfits
A100 (40GB)weights + activationsfits
H100 (80GB)weights + activationsfits

Structure

177 nodes. Output shapes are propagated from the input shape, batch dimension excluded.

LayerTypeOutput shape
1InputInput1 × 3 × 224 × 224
2Stem_ConvConv2D64 × 2 × 112
3Stem_BNBatchNorm64 × 2 × 112
4Stem_ReLUReLU64 × 2 × 112
5Stem_MaxPoolMaxPool2D64 × 1 × 56
6Stage1_Block1_Conv1x1_reduceConv2D64 × 1 × 56
7Stage1_Block1_BN1BatchNorm64 × 1 × 56
8Stage1_Block1_ReLU1ReLU64 × 1 × 56
9Stage1_Block1_Conv3x3Conv2D64 × 1 × 56
10Stage1_Block1_BN2BatchNorm64 × 1 × 56
11Stage1_Block1_ReLU2ReLU64 × 1 × 56
12Stage1_Block1_Conv1x1_expandConv2D256 × 1 × 56
13Stage1_Block1_BN3BatchNorm256 × 1 × 56
14Stage1_Block1_DownsampleConv2D256 × 1 × 56
15Stage1_Block1_Downsample_BNBatchNorm256 × 1 × 56
16Stage1_Block1_AddAdd256 × 1 × 56
17Stage1_Block1_ReLU_outReLU256 × 1 × 56
18Stage1_Block2_Conv1x1_reduceConv2D64 × 1 × 56
19Stage1_Block2_BN1BatchNorm64 × 1 × 56
20Stage1_Block2_ReLU1ReLU64 × 1 × 56
21Stage1_Block2_Conv3x3Conv2D64 × 1 × 56
22Stage1_Block2_BN2BatchNorm64 × 1 × 56
23Stage1_Block2_ReLU2ReLU64 × 1 × 56
24Stage1_Block2_Conv1x1_expandConv2D256 × 1 × 56
25Stage1_Block2_BN3BatchNorm256 × 1 × 56
26Stage1_Block2_AddAdd256 × 1 × 56
27Stage1_Block2_ReLU_outReLU256 × 1 × 56
28Stage1_Block3_Conv1x1_reduceConv2D64 × 1 × 56
29Stage1_Block3_BN1BatchNorm64 × 1 × 56
30Stage1_Block3_ReLU1ReLU64 × 1 × 56
31Stage1_Block3_Conv3x3Conv2D64 × 1 × 56
32Stage1_Block3_BN2BatchNorm64 × 1 × 56
33Stage1_Block3_ReLU2ReLU64 × 1 × 56
34Stage1_Block3_Conv1x1_expandConv2D256 × 1 × 56
35Stage1_Block3_BN3BatchNorm256 × 1 × 56
36Stage1_Block3_AddAdd256 × 1 × 56
37Stage1_Block3_ReLU_outReLU256 × 1 × 56
38Stage2_Block1_Conv1x1_reduceConv2D128 × 1 × 56
39Stage2_Block1_BN1BatchNorm128 × 1 × 56
40Stage2_Block1_ReLU1ReLU128 × 1 × 56
41Stage2_Block1_Conv3x3Conv2D128 × 1 × 28
42Stage2_Block1_BN2BatchNorm128 × 1 × 28
43Stage2_Block1_ReLU2ReLU128 × 1 × 28
44Stage2_Block1_Conv1x1_expandConv2D512 × 1 × 28
45Stage2_Block1_BN3BatchNorm512 × 1 × 28
46Stage2_Block1_DownsampleConv2D512 × 1 × 28
47Stage2_Block1_Downsample_BNBatchNorm512 × 1 × 28
48Stage2_Block1_AddAdd512 × 1 × 28
49Stage2_Block1_ReLU_outReLU512 × 1 × 28
50Stage2_Block2_Conv1x1_reduceConv2D128 × 1 × 28
51Stage2_Block2_BN1BatchNorm128 × 1 × 28
52Stage2_Block2_ReLU1ReLU128 × 1 × 28
53Stage2_Block2_Conv3x3Conv2D128 × 1 × 28
54Stage2_Block2_BN2BatchNorm128 × 1 × 28
55Stage2_Block2_ReLU2ReLU128 × 1 × 28
56Stage2_Block2_Conv1x1_expandConv2D512 × 1 × 28
57Stage2_Block2_BN3BatchNorm512 × 1 × 28
58Stage2_Block2_AddAdd512 × 1 × 28
59Stage2_Block2_ReLU_outReLU512 × 1 × 28
60Stage2_Block3_Conv1x1_reduceConv2D128 × 1 × 28
61Stage2_Block3_BN1BatchNorm128 × 1 × 28
62Stage2_Block3_ReLU1ReLU128 × 1 × 28
63Stage2_Block3_Conv3x3Conv2D128 × 1 × 28
64Stage2_Block3_BN2BatchNorm128 × 1 × 28
65Stage2_Block3_ReLU2ReLU128 × 1 × 28
66Stage2_Block3_Conv1x1_expandConv2D512 × 1 × 28
67Stage2_Block3_BN3BatchNorm512 × 1 × 28
68Stage2_Block3_AddAdd512 × 1 × 28
69Stage2_Block3_ReLU_outReLU512 × 1 × 28
70Stage2_Block4_Conv1x1_reduceConv2D128 × 1 × 28
71Stage2_Block4_BN1BatchNorm128 × 1 × 28
72Stage2_Block4_ReLU1ReLU128 × 1 × 28
73Stage2_Block4_Conv3x3Conv2D128 × 1 × 28
74Stage2_Block4_BN2BatchNorm128 × 1 × 28
75Stage2_Block4_ReLU2ReLU128 × 1 × 28
76Stage2_Block4_Conv1x1_expandConv2D512 × 1 × 28
77Stage2_Block4_BN3BatchNorm512 × 1 × 28
78Stage2_Block4_AddAdd512 × 1 × 28
79Stage2_Block4_ReLU_outReLU512 × 1 × 28
80Stage3_Block1_Conv1x1_reduceConv2D256 × 1 × 28
81Stage3_Block1_BN1BatchNorm256 × 1 × 28
82Stage3_Block1_ReLU1ReLU256 × 1 × 28
83Stage3_Block1_Conv3x3Conv2D256 × 1 × 14
84Stage3_Block1_BN2BatchNorm256 × 1 × 14
85Stage3_Block1_ReLU2ReLU256 × 1 × 14
86Stage3_Block1_Conv1x1_expandConv2D1024 × 1 × 14
87Stage3_Block1_BN3BatchNorm1024 × 1 × 14
88Stage3_Block1_DownsampleConv2D1024 × 1 × 14
89Stage3_Block1_Downsample_BNBatchNorm1024 × 1 × 14
90Stage3_Block1_AddAdd1024 × 1 × 14
91Stage3_Block1_ReLU_outReLU1024 × 1 × 14
92Stage3_Block2_Conv1x1_reduceConv2D256 × 1 × 14
93Stage3_Block2_BN1BatchNorm256 × 1 × 14
94Stage3_Block2_ReLU1ReLU256 × 1 × 14
95Stage3_Block2_Conv3x3Conv2D256 × 1 × 14
96Stage3_Block2_BN2BatchNorm256 × 1 × 14
97Stage3_Block2_ReLU2ReLU256 × 1 × 14
98Stage3_Block2_Conv1x1_expandConv2D1024 × 1 × 14
99Stage3_Block2_BN3BatchNorm1024 × 1 × 14
100Stage3_Block2_AddAdd1024 × 1 × 14
101Stage3_Block2_ReLU_outReLU1024 × 1 × 14
102Stage3_Block3_Conv1x1_reduceConv2D256 × 1 × 14
103Stage3_Block3_BN1BatchNorm256 × 1 × 14
104Stage3_Block3_ReLU1ReLU256 × 1 × 14
105Stage3_Block3_Conv3x3Conv2D256 × 1 × 14
106Stage3_Block3_BN2BatchNorm256 × 1 × 14
107Stage3_Block3_ReLU2ReLU256 × 1 × 14
108Stage3_Block3_Conv1x1_expandConv2D1024 × 1 × 14
109Stage3_Block3_BN3BatchNorm1024 × 1 × 14
110Stage3_Block3_AddAdd1024 × 1 × 14
111Stage3_Block3_ReLU_outReLU1024 × 1 × 14
112Stage3_Block4_Conv1x1_reduceConv2D256 × 1 × 14
113Stage3_Block4_BN1BatchNorm256 × 1 × 14
114Stage3_Block4_ReLU1ReLU256 × 1 × 14
115Stage3_Block4_Conv3x3Conv2D256 × 1 × 14
116Stage3_Block4_BN2BatchNorm256 × 1 × 14
117Stage3_Block4_ReLU2ReLU256 × 1 × 14
118Stage3_Block4_Conv1x1_expandConv2D1024 × 1 × 14
119Stage3_Block4_BN3BatchNorm1024 × 1 × 14
120Stage3_Block4_AddAdd1024 × 1 × 14
121Stage3_Block4_ReLU_outReLU1024 × 1 × 14
122Stage3_Block5_Conv1x1_reduceConv2D256 × 1 × 14
123Stage3_Block5_BN1BatchNorm256 × 1 × 14
124Stage3_Block5_ReLU1ReLU256 × 1 × 14
125Stage3_Block5_Conv3x3Conv2D256 × 1 × 14
126Stage3_Block5_BN2BatchNorm256 × 1 × 14
127Stage3_Block5_ReLU2ReLU256 × 1 × 14
128Stage3_Block5_Conv1x1_expandConv2D1024 × 1 × 14
129Stage3_Block5_BN3BatchNorm1024 × 1 × 14
130Stage3_Block5_AddAdd1024 × 1 × 14
131Stage3_Block5_ReLU_outReLU1024 × 1 × 14
132Stage3_Block6_Conv1x1_reduceConv2D256 × 1 × 14
133Stage3_Block6_BN1BatchNorm256 × 1 × 14
134Stage3_Block6_ReLU1ReLU256 × 1 × 14
135Stage3_Block6_Conv3x3Conv2D256 × 1 × 14
136Stage3_Block6_BN2BatchNorm256 × 1 × 14
137Stage3_Block6_ReLU2ReLU256 × 1 × 14
138Stage3_Block6_Conv1x1_expandConv2D1024 × 1 × 14
139Stage3_Block6_BN3BatchNorm1024 × 1 × 14
140Stage3_Block6_AddAdd1024 × 1 × 14
141Stage3_Block6_ReLU_outReLU1024 × 1 × 14
142Stage4_Block1_Conv1x1_reduceConv2D512 × 1 × 14
143Stage4_Block1_BN1BatchNorm512 × 1 × 14
144Stage4_Block1_ReLU1ReLU512 × 1 × 14
145Stage4_Block1_Conv3x3Conv2D512 × 1 × 7
146Stage4_Block1_BN2BatchNorm512 × 1 × 7
147Stage4_Block1_ReLU2ReLU512 × 1 × 7
148Stage4_Block1_Conv1x1_expandConv2D2048 × 1 × 7
149Stage4_Block1_BN3BatchNorm2048 × 1 × 7
150Stage4_Block1_DownsampleConv2D2048 × 1 × 7
151Stage4_Block1_Downsample_BNBatchNorm2048 × 1 × 7
152Stage4_Block1_AddAdd2048 × 1 × 7
153Stage4_Block1_ReLU_outReLU2048 × 1 × 7
154Stage4_Block2_Conv1x1_reduceConv2D512 × 1 × 7
155Stage4_Block2_BN1BatchNorm512 × 1 × 7
156Stage4_Block2_ReLU1ReLU512 × 1 × 7
157Stage4_Block2_Conv3x3Conv2D512 × 1 × 7
158Stage4_Block2_BN2BatchNorm512 × 1 × 7
159Stage4_Block2_ReLU2ReLU512 × 1 × 7
160Stage4_Block2_Conv1x1_expandConv2D2048 × 1 × 7
161Stage4_Block2_BN3BatchNorm2048 × 1 × 7
162Stage4_Block2_AddAdd2048 × 1 × 7
163Stage4_Block2_ReLU_outReLU2048 × 1 × 7
164Stage4_Block3_Conv1x1_reduceConv2D512 × 1 × 7
165Stage4_Block3_BN1BatchNorm512 × 1 × 7
166Stage4_Block3_ReLU1ReLU512 × 1 × 7
167Stage4_Block3_Conv3x3Conv2D512 × 1 × 7
168Stage4_Block3_BN2BatchNorm512 × 1 × 7
169Stage4_Block3_ReLU2ReLU512 × 1 × 7
170Stage4_Block3_Conv1x1_expandConv2D2048 × 1 × 7
171Stage4_Block3_BN3BatchNorm2048 × 1 × 7
172Stage4_Block3_AddAdd2048 × 1 × 7
173Stage4_Block3_ReLU_outReLU2048 × 1 × 7
174GlobalAvgPoolGlobalAvgPool2D2048
175FlattenFlatten2048
176ClassifierLinear1000
177OutputOutput1000

What the verifier says

No finding on the reconstructed graph. See the checks.

Do this to your own model

Same numbers, on a model in your repo, in one command. No account.

pip install neurarch-trace
neurarch-trace microsoft/resnet-50 --plan --share