diff options
author | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2020-02-10 15:41:44 -0800 |
---|---|---|
committer | Raghuveer Devulapalli <raghuveer.devulapalli@intel.com> | 2020-02-11 17:00:38 -0800 |
commit | 665da87e956fa6cd0753b026ef4df1b7707baa46 (patch) | |
tree | 79f0b67a046b2672c990480710240eed5fc70696 | |
parent | af0dfce126a1d83cc33b8da9d91bce664f5d5297 (diff) | |
download | numpy-665da87e956fa6cd0753b026ef4df1b7707baa46.tar.gz |
BENCH: Adding benchmarks for float32 and float64 sin/cos/exp/log functions
-rw-r--r-- | benchmarks/benchmarks/bench_avx.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/benchmarks/benchmarks/bench_avx.py b/benchmarks/benchmarks/bench_avx.py index b6a6aa59e..c166d6b3f 100644 --- a/benchmarks/benchmarks/bench_avx.py +++ b/benchmarks/benchmarks/bench_avx.py @@ -2,7 +2,11 @@ from .common import Benchmark import numpy as np -avx_ufuncs = ['sqrt', +avx_ufuncs = ['sin', + 'cos', + 'exp', + 'log', + 'sqrt', 'absolute', 'reciprocal', 'square', @@ -125,3 +129,29 @@ class Mandelbrot(Benchmark): def time_mandel(self): self.mandelbrot_set(-0.74877,-0.74872,0.06505,0.06510,1000,1000,2048) + +class LogisticRegression(Benchmark): + + timeout = 1000 + def train(self, max_epoch): + for epoch in range(max_epoch): + z = np.matmul(self.X_train, self.W) + A = 1/ (1 + np.exp(-z)) #sigmoid(z) + loss = -np.mean(self.Y_train * np.log(A) + (1-self.Y_train) * np.log(1-A)) + dz = A - self.Y_train + dw = (1/self.size) * np.matmul(self.X_train.T, dz) + self.W = self.W - self.alpha*dw + + def setup(self): + np.random.seed(42) + self.size = 250 + features = 16 + self.X_train = np.float32(np.random.rand(self.size,features)) + self.Y_train = np.float32(np.random.choice(2,self.size)) + # Initialize weights + self.W = np.float32(np.zeros((features,1))) + self.b = np.float32(np.zeros((1,1))) + self.alpha = 0.1 + + def time_train(self): + self.train(5000) |