| import numpy as np | |
| def random_normal( size=(1,), trunc_val = 2.5 ): | |
| len = np.array(size).prod() | |
| result = np.empty ( (len,) , dtype=np.float32) | |
| for i in range (len): | |
| while True: | |
| x = np.random.normal() | |
| if x >= -trunc_val and x <= trunc_val: | |
| break | |
| result[i] = (x / trunc_val) | |
| return result.reshape ( size ) |