mnist fp16 training comparison
This commit is contained in:
parent
01f1e3a7fc
commit
ea87e7fa38
80
example/mnist-fp16/README.md
Normal file
80
example/mnist-fp16/README.md
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
# CNN MNIST training Float vs BFloat16
|
||||||
|
|
||||||
|
## BFloat16 - 16bit floating point
|
||||||
|
|
||||||
|
```bash
|
||||||
|
testImages: [10000 784]
|
||||||
|
testLabels: [10000]
|
||||||
|
Start eval...Epoch: 0 Loss: 0.05 Test accuracy: 98.05%
|
||||||
|
Start eval...Epoch: 1 Loss: 0.03 Test accuracy: 98.36%
|
||||||
|
Start eval...Epoch: 2 Loss: 0.03 Test accuracy: 98.44%
|
||||||
|
Start eval...Epoch: 3 Loss: 0.18 Test accuracy: 98.44%
|
||||||
|
Start eval...Epoch: 4 Loss: 0.01 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 5 Loss: 0.06 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 6 Loss: 0.21 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 7 Loss: 0.05 Test accuracy: 98.59%
|
||||||
|
Start eval...Epoch: 8 Loss: 0.12 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 9 Loss: 0.12 Test accuracy: 98.48%
|
||||||
|
Start eval...Epoch: 10 Loss: 0.04 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 11 Loss: 0.03 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 12 Loss: 0.04 Test accuracy: 98.48%
|
||||||
|
Start eval...Epoch: 13 Loss: 0.32 Test accuracy: 98.48%
|
||||||
|
Start eval...Epoch: 14 Loss: 0.06 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 15 Loss: 0.10 Test accuracy: 98.55%
|
||||||
|
Start eval...Epoch: 16 Loss: 0.02 Test accuracy: 98.52%
|
||||||
|
Start eval...Epoch: 17 Loss: 0.01 Test accuracy: 98.48%
|
||||||
|
Start eval...Epoch: 18 Loss: 0.01 Test accuracy: 98.67%
|
||||||
|
Start eval...Epoch: 19 Loss: 0.10 Test accuracy: 98.63%
|
||||||
|
Start eval...Epoch: 20 Loss: 0.05 Test accuracy: 98.71%
|
||||||
|
Start eval...Epoch: 21 Loss: 0.01 Test accuracy: 98.79%
|
||||||
|
Start eval...Epoch: 22 Loss: 0.05 Test accuracy: 98.71%
|
||||||
|
Start eval...Epoch: 23 Loss: 0.03 Test accuracy: 98.67%
|
||||||
|
Start eval...Epoch: 24 Loss: 0.03 Test accuracy: 98.67%
|
||||||
|
Start eval...Epoch: 25 Loss: 0.16 Test accuracy: 98.75%
|
||||||
|
Start eval...Epoch: 26 Loss: 0.07 Test accuracy: 98.75%
|
||||||
|
Start eval...Epoch: 27 Loss: 0.01 Test accuracy: 98.75%
|
||||||
|
Start eval...Epoch: 28 Loss: 0.15 Test accuracy: 98.63%
|
||||||
|
Start eval...Epoch: 29 Loss: 0.01 Test accuracy: 98.59%
|
||||||
|
Best test accuracy: 98.79%
|
||||||
|
Taken time: 8.67 mins
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Float - 32bit floating point
|
||||||
|
|
||||||
|
```bash
|
||||||
|
testImages: [10000 784]
|
||||||
|
testLabels: [10000]
|
||||||
|
Start eval...Epoch: 0 Loss: 0.27 Test accuracy: 98.42%
|
||||||
|
Start eval...Epoch: 1 Loss: 0.06 Test accuracy: 98.60%
|
||||||
|
Start eval...Epoch: 2 Loss: 0.01 Test accuracy: 98.68%
|
||||||
|
Start eval...Epoch: 3 Loss: 0.01 Test accuracy: 98.63%
|
||||||
|
Start eval...Epoch: 4 Loss: 0.11 Test accuracy: 98.82%
|
||||||
|
Start eval...Epoch: 5 Loss: 0.11 Test accuracy: 99.00%
|
||||||
|
Start eval...Epoch: 6 Loss: 0.00 Test accuracy: 98.93%
|
||||||
|
Start eval...Epoch: 7 Loss: 0.00 Test accuracy: 98.96%
|
||||||
|
Start eval...Epoch: 8 Loss: 0.01 Test accuracy: 99.02%
|
||||||
|
Start eval...Epoch: 9 Loss: 0.04 Test accuracy: 99.04%
|
||||||
|
Start eval...Epoch: 10 Loss: 0.06 Test accuracy: 99.07%
|
||||||
|
Start eval...Epoch: 11 Loss: 0.01 Test accuracy: 99.12%
|
||||||
|
Start eval...Epoch: 12 Loss: 0.00 Test accuracy: 99.12%
|
||||||
|
Start eval...Epoch: 13 Loss: 0.00 Test accuracy: 99.12%
|
||||||
|
Start eval...Epoch: 14 Loss: 0.04 Test accuracy: 99.14%
|
||||||
|
Start eval...Epoch: 15 Loss: 0.07 Test accuracy: 99.12%
|
||||||
|
Start eval...Epoch: 16 Loss: 0.00 Test accuracy: 99.08%
|
||||||
|
Start eval...Epoch: 17 Loss: 0.00 Test accuracy: 99.10%
|
||||||
|
Start eval...Epoch: 18 Loss: 0.08 Test accuracy: 99.16%
|
||||||
|
Start eval...Epoch: 19 Loss: 0.07 Test accuracy: 99.20%
|
||||||
|
Start eval...Epoch: 20 Loss: 0.00 Test accuracy: 99.06%
|
||||||
|
Start eval...Epoch: 21 Loss: 0.05 Test accuracy: 98.97%
|
||||||
|
Start eval...Epoch: 22 Loss: 0.01 Test accuracy: 99.13%
|
||||||
|
Start eval...Epoch: 23 Loss: 0.00 Test accuracy: 99.13%
|
||||||
|
Start eval...Epoch: 24 Loss: 0.01 Test accuracy: 99.16%
|
||||||
|
Start eval...Epoch: 25 Loss: 0.00 Test accuracy: 99.11%
|
||||||
|
Start eval...Epoch: 26 Loss: 0.09 Test accuracy: 99.13%
|
||||||
|
Start eval...Epoch: 27 Loss: 0.00 Test accuracy: 99.14%
|
||||||
|
Start eval...Epoch: 28 Loss: 0.00 Test accuracy: 99.13%
|
||||||
|
Start eval...Epoch: 29 Loss: 0.01 Test accuracy: 99.20%
|
||||||
|
Best test accuracy: 99.20%
|
||||||
|
Taken time: 3.06 mins
|
||||||
|
```
|
|
@ -34,6 +34,7 @@ var mu sync.Mutex
|
||||||
var device gotch.Device = gotch.CudaIfAvailable()
|
var device gotch.Device = gotch.CudaIfAvailable()
|
||||||
|
|
||||||
// var dtype gotch.DType = gotch.BFloat16
|
// var dtype gotch.DType = gotch.BFloat16
|
||||||
|
|
||||||
// var dtype gotch.DType = gotch.Half
|
// var dtype gotch.DType = gotch.Half
|
||||||
var dtype gotch.DType = gotch.Float
|
var dtype gotch.DType = gotch.Float
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user