import tensorflow as tf

'''
num_channels  = 3
# fov_size      = 3
# loc_std       = 0.8


#Used to initialize weights for policy and value output layers (Do we need to use that? Maybe not now)
def normalized_columns_initializer(std=1.0):
	def _initializer(shape, dtype=None, partition_info=None):
		out = np.random.randn(*shape).astype(np.float32)
		out *= std / np.sqrt(np.square(out).sum(axis=0, keepdims=True))
		return tf.constant(out)
	return _initializer

'''
G(x) =  	1	  		  {-(1/2)*[(x-u)/sigma]^2}
	 ------------------- e
	 sigma*(2*pi)^(1/2)
'''
def gaussian_pdf(mean, loc_std, sample):
	Z = 1.0 / (loc_std * tf.sqrt(2.0 * np.pi))
	a = - tf.square(sample - mean) / (2.0 * tf.square(loc_std))
