Commit Graph

217 Commits

Author SHA1 Message Date
George Hotz
30442a086a some broadcasting, pool test is fail 2020-11-07 11:29:42 -08:00
Ryan Neph
7c630ca355 GPU {Avg,Max}Pool2D forward pass (#66) 2020-11-07 11:13:24 -08:00
George Hotz
40c538c299 fix reshape 2020-11-07 11:10:29 -08:00
George Hotz
19c2950310 refactor ops to prepare for broadcasting 2020-11-07 11:02:45 -08:00
George Hotz
94d44c97bf add pad2d on GPU 2020-11-07 10:46:36 -08:00
George Hotz
fbff6ab2e5 fix strided convs, GPU env var for enet 2020-11-07 10:26:37 -08:00
George Hotz
ec03eb44bd tinygrad does forward pass convs on GPU 2020-11-07 10:15:56 -08:00
Manjeet Singh
23c39d9f52 fetch() 'ran out of input' fix (#65)
If requests.get fails during a download, the incomplete file is passed
without a size check. This causes errors during image/model loading.
Not sure if this is a problem on all systems.
2020-11-07 09:45:10 -08:00
George Hotz
bc7758cc5b getting convs to work on gpu 2020-11-07 09:17:57 -08:00
George Hotz
3302286e68 yayay test_sgd_gpu passes 2020-11-07 08:48:17 -08:00
Ryan Neph
98d1a4f740 GPU Selection works when len(answers)>ngpus (#64)
Fixes TypeError: sequence item 0: expected str instance, int found
triggered by https://github.com/inducer/pyopencl/blob/v2020.2.2/pyopencl/__init__.py#L1500
in pyopencl v2020.2.2
2020-11-07 08:06:59 -08:00
George Hotz
ce0c80e1bd ugh, corrupt downloads. when did this break? 2020-11-07 08:04:43 -08:00
George Hotz
9332fe1989 weee, logsoftmax on GPU. very slow 2020-11-07 07:59:37 -08:00
George Hotz
38e112cccd logsoftmax test 2020-11-07 07:26:53 -08:00
George Hotz
237bbe3625 sigmoid on GPU 2020-11-07 07:23:46 -08:00
Rakib Fiha
f40dbd791c Use --upgrade since its in active dev (#63) 2020-11-07 07:15:05 -08:00
Rene Delgado
cd54697fd8 fix gpu sum forward (#61)
* ignore venv

* add sum test

* fix sum forward
2020-11-05 21:59:16 -08:00
gallanoe
aea1069f63 Div on CPU (#58)
* Added Div on CPU

* Removed eps. value

* Fixed tabs
2020-11-05 21:58:37 -08:00
NeuralLink
cc605da36d Stable Sigmoid op (#59)
* 🔨 Added stable sigmoid

*  added sigmoid test

* 🔧 suppressed overflow warning

* 🔧 clean up
2020-11-05 21:57:50 -08:00
George Hotz
cc852efa64 make OpenCL work elsewhere 2020-11-05 07:59:55 -08:00
Ryan Neph
22a5f9975d pow+div on GPU (#57) 2020-11-05 07:49:45 -08:00
adamritter
b16fadc5c6 Speed up sum backward pass (#54)
Co-authored-by: holonomicjl <58403584+holonomicjl@users.noreply.github.com>
2020-11-04 19:55:45 -08:00
George Hotz
0be3d2cdba install pyopencl 2020-11-04 11:22:11 -08:00
George Hotz
3efb4f4df4 chicken.jpg 2020-11-04 11:20:22 -08:00
Marcel Bischoff
c69582744d Update efficientnet.py (#53)
from https://github.com/lukemelas/EfficientNet-PyTorch/blob/master/efficientnet_pytorch/utils.py
```
    blocks_args = [
        'r1_k3_s11_e1_i32_o16_se0.25',
        'r2_k3_s22_e6_i16_o24_se0.25',
        'r2_k5_s22_e6_i24_o40_se0.25',
       'r3_k3_s22_e6_i40_o80_se0.25',
        'r3_k5_s11_e6_i80_o112_se0.25',
        'r4_k5_s22_e6_i112_o192_se0.25',
        'r1_k3_s11_e6_i192_o320_se0.25',
    ]
```

now it's a persian cat.
2020-11-04 09:36:27 -08:00
Marcel Bischoff
c40862241d Revert "choose aspect ration dependent on landscape or portrait (#48)" (#51)
This reverts commit 2808411421.
2020-11-02 19:31:07 -08:00
Anders Aaen Springborg
2808411421 choose aspect ration dependent on landscape or portrait (#48) 2020-11-02 18:10:22 -08:00
Marcel Bischoff
d24363f421 Update setup.py (#49)
I think `:=` in tinygrad/test/test_mnist.py actually needs 3.8
2020-11-02 18:09:31 -08:00
George Hotz
940e14c6ca more readme 2020-11-02 08:33:48 -08:00
George Hotz
1e6bbdf4f8 readme updates 2020-11-02 08:30:43 -08:00
George Hotz
f178d23ff3 gpu relu is good 2020-11-02 08:25:32 -08:00
George Hotz
8766346187 fix gpu sub 2020-11-02 08:18:58 -08:00
George Hotz
231c1134bd cute trick for GPU test 2020-11-02 08:17:17 -08:00
George Hotz
6a7896f3e9 opsgpu cl program caching 2020-11-02 07:46:26 -08:00
George Hotz
2e7f16bf3f the power of cheating 2020-11-02 07:42:11 -08:00
George Hotz
fc358a07ad print sloccount 2020-11-02 07:38:13 -08:00
George Hotz
3da64acd6b the power of small 2020-11-02 07:36:34 -08:00
George Hotz
82fc842b40 in_place_op 2020-11-02 07:26:13 -08:00
George Hotz
1d793b8571 gpu SGD runs now 2020-11-02 07:19:12 -08:00
George Hotz
621c61b30d sgd now operates on Tensors 2020-11-02 07:14:54 -08:00
George Hotz
355402504e ops work 2020-11-02 07:03:23 -08:00
Marcel Bischoff
af5a4e0f5a alternative to einsum which is slow in extreme cases (#44)
* streamlined numerical_jacobian

* Got rid of the g loop in Conv2D.forward

* ereased stupid line

* nothing

* no loops in Conv2D forward

* Conv2D backprop improved

* stupid things in examples

* alternative to einsum

* Conv2D backward einsum alternative

* tidying up

* tidied up

* no ravel

* got rid of print

* Update efficientnet.py

* Update efficientnet.py

* Update efficientnet.py

* only tensordot

* 255.0

* whitespace

* aspect ratio error in efficientnet

* noprint

Co-authored-by: Marcel Bischoff <marcel@Marcels-iMac.local>
2020-11-02 06:36:07 -08:00
George Hotz
5201a8e89f matmul on GPU 2020-11-01 08:54:20 -08:00
George Hotz
41e7d59aed test dot 2020-11-01 07:51:35 -08:00
George Hotz
1f544d6ece test mnist on GPU 2020-11-01 07:46:17 -08:00
George Hotz
499604d69b convert tensor to gpu 2020-11-01 07:34:50 -08:00
George Hotz
bac6bfda11 with that at least it's only 10x slower 2020-11-01 07:30:19 -08:00
George Hotz
9ac1ad40d6 Add GPU Support! (do not merge yet) (#41)
* copy tensors to and from gpu

* add on GPU

* adding works

* we stick shapes in

* works on cpu and gpu

* test changes, not passing yet

* something else

* op tests pass

* add, mean, and sum have working forward/backward

* mul ops test

* no gpu support, no problem

* test pass, clean up later

* gpu cleanup

* cleanup test ops, don't let div fail

* revert more

* aimpler dispatcher

* clean up grad

* GPU and

* grad is a Tensor now

* gate test on GPU

* cleanups

* late loading gpu

* GPU as input option

* last cleanups
2020-11-01 07:00:49 -08:00
liej6799
c06a4fcc80 Fix temp location for windows (#39)
* Fix temp location for windows

* Make sure get tempfile for other os also.

* Update utils.py
2020-10-31 17:21:14 -07:00
George Hotz
7c0dc8f48b more whitespace 2020-10-31 11:05:11 -07:00