In [1]:
import numpy as np
import pulse2percept as p2p
In [2]:
tsample = 0.005 / 1000
stim = p2p.stimuli.PulseTrain(tsample, freq=20, amp=50, pulse_dur=0.45 / 1000, dur=0.5)
In [3]:
old_model = p2p.retina.Nanduri2012(tsample=tsample)
new_model = p2p.retina.NanduriCython(tsample=tsample)
In [4]:
layers = ['OFL']
use_jit = True
in_arr = np.array([1, 1], dtype=np.float).reshape((2, 1))
In [5]:
old_out = old_model.model_cascade(in_arr, [stim.data], layers, use_jit)
new_out = new_model.model_cascade(in_arr, [stim.data], layers, use_jit)
In [6]:
np.allclose(old_out.data, new_out.data)
Out[6]:
In [9]:
%load_ext line_profiler
In [24]:
%lprun -f p2p.retina.Nanduri2012 old_model.model_cascade(in_arr, [stim.data], layers, use_jit)
In [8]:
%timeit new_model.model_cascade(in_arr, [stim.data], layers, use_jit)
In [ ]: