* quick math: 0 + x = x.
* gradient w.r.t. x using cherry for conv
* gradient w.r.t. w for conv on cherry but doing vector dot products
* small optimization
* [cherry] optimize conv backpass for large channel count
* get rid of numpy einsum
Simple test using the Chicken example from https://upload.wikimedia.org/wikipedia/commons/4/41/Chicken.jpg and the image preprocessing from example/efficientnet.py
Note that EfficientNet loads the weights from the internet so running the tests may be slow the first time. We could speed up the tests by caching the /tmp folder.
Fixes#234
Because the weights are being loaded from a third party internet address, it's unsafe to use eval. Also with the change I think the code became a little bit more clear as now it's clearer which keys are being transformed.
Co-authored-by: Seba Kreft <sebastian.kreft@houm.com>
1. python create model not match swift model in ane build folder.
2. fix ane lib path and add a dummy backward function for use_ane.py
can run in examples folder.
* added resnets
* fix minor
* fix minor
* resnet in models
* added resnet test
* added resnet train test
* added linear, conv2d nn tests
* fix minor in extra/training
* resnet in models
* fix minor
* fix tolerance for linear in nn test
* fix eval, this causes cpu and gpu UT failing
* revert transformer test
* fix minor for CPU test
* improved model get_params for sequential layer
* fix minor for params counting
* commented broken ops tests
* improved train for resnet
* Add dropout test
* Remove condition where training is false
* Skip dropout test when on GPU
* Revert changes to tensor.py and fix test case
* Revert change on whitespace
* Convert Tensor to cpu for testing
* Fix whitespace in tensor.py