Skip to content

Instantly share code, notes, and snippets.

View ninjakx's full-sized avatar
🎯
Focusing

Kriti ninjakx

🎯
Focusing
View GitHub Profile
@ninjakx
ninjakx / NN.cpp
Created November 4, 2018 21:30
Neural Network from scratch
#include <iostream>
#include <vector>
#include<map>
#include<queue>
#include<math.h>
#include<vector>
#include <cassert>
#include <algorithm>
using namespace std;
%%time
a = nearest_ngbr_raw(arr)
%%time
a = nearest_ngbr_raw(arr)
import numpy as np
%load_ext line_profiler
%%writefile simulation.py
import numpy as np
def comp_inner_raw(i, x):
res = np.zeros(x.shape[0], dtype=np.float64)
for j in range(x.shape[0]):
res[j] = np.sqrt(np.sum((i-x[j])**2))
return res
def nearest_ngbr_raw(x):
dist = {}
from simulation import nearest_ngbr_raw
arr = np.random.rand(1000,800)
%lprun -T sim_result -f nearest_ngbr_raw nearest_ngbr_raw(arr)
print(open('sim_result', 'r').read())
from numba import jit, njit
@jit('float64[:](float64[:], float64[:, :])')
def comp_inner_numba(i, x):
res = np.zeros(x.shape[0], dtype=np.float64)
for j in range(x.shape[0]):
res[j] = np.sqrt(np.sum((i-x[j])**2))
return res
def nearest_ngbr_numba(x):
dist = {}
%%time
b = nearest_ngbr_numba(arr)
#include <cstdlib>
#include <algorithm>
#include <numeric>
#include <vector>
#include <stdio.h>
#include <iostream>
#include <map>
#include <cmath>
#include <math.h>
%module myknn
#define SWIGPYTHON_BUILTIN
%{
#include "numpy/arrayobject.h"
#define SWIG_FILE_WITH_INIT /* To import_array() below */
#include "myknn.h"
%}
%include "std_map.i"