tinygrad/examples/mlperf
David Hou 4b95350c41
fp16 resnet (without expand backwards sum in float, doesn't work) (#3816)
* fp16 resnet

* cast running mean and var back to default float

* extra cast

* check symbolic no overflow

* add linearizer failure

* loss scaler after grad contig

* oops

* i think this works

* don't loss scale fp32

* remove overflow test case

* remove symbolic bounds check

* loss scaler should be float

* temporarily disable padto cuz bug

shruggie

* make running stats in batchnorm float32?

* calculate lars stuff in fp32?

* oops

* remove most changes

* move loss scaler out of optimizer

* no more FP16 var

* oops

---------

Co-authored-by: chenyu <chenyu@fastmail.com>
2024-03-28 01:25:37 -04:00
..
dataloader.py MLPerf Resnet (cleaned up) (#3573) 2024-03-14 00:53:41 -04:00
helpers.py MLPerf Resnet (cleaned up) (#3573) 2024-03-14 00:53:41 -04:00
initializers.py MLPerf Resnet (cleaned up) (#3573) 2024-03-14 00:53:41 -04:00
lr_schedulers.py fp16 resnet (without expand backwards sum in float, doesn't work) (#3816) 2024-03-28 01:25:37 -04:00
metrics.py Add MLPerf UNet3D model (#775) 2023-05-28 20:38:19 -07:00
model_eval.py create engine folder and move code (#3948) 2024-03-26 20:38:03 -07:00
model_spec.py move globalcounters to ops (#2960) 2024-01-01 14:21:02 -08:00
model_train.py fp16 resnet (without expand backwards sum in float, doesn't work) (#3816) 2024-03-28 01:25:37 -04:00
README start on mlperf models 2023-05-10 16:30:49 -07:00

Each model should be a clean single file.
They are imported from the top level `models` directory

It should be capable of loading weights from the reference imp.

We will focus on these 5 models:

# Resnet50-v1.5 (classic) -- 8.2 GOPS/input
# Retinanet
# 3D UNET (upconvs)
# RNNT
# BERT-large (transformer)

They are used in both the training and inference benchmark:
https://mlcommons.org/en/training-normal-21/
https://mlcommons.org/en/inference-edge-30/
And we will submit to both.

NOTE: we are Edge since we don't have ECC RAM