model of DCN pyramidal neuron
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

28 lines
705 B

import numpy as np
import hashlib, struct
_current_seed = 0
def set_seed(seed):
"""
Set the random seed to be used globally. If a string is supplied, it
will be converted to int using hash().
This immediately seeds the numpy RNG. Any other RNGs must be seeded using
current_seed()
"""
if isinstance(seed, str):
seed = struct.unpack("=I", hashlib.md5(seed.encode("utf-8")).digest()[:4])[0]
np.random.seed(seed)
assert seed < 2 ** 64 # neuron RNG fails if seed is too large
global _current_seed
_current_seed = seed
return seed
def current_seed():
"""
Return the currently-set global random seed.
"""
return _current_seed