12345678910111213141516171819202122232425262728293031323334 |
- import tensorflow as tf
- import numpy as np
- import math
- def uniform(shape, scale=0.05, name=None):
- """Uniform init."""
- initial = tf.random_uniform(shape, minval=-scale, maxval=scale, dtype=tf.float32)
- return tf.Variable(initial, name=name)
- def glorot(shape, name=None):
- """Glorot & Bengio (AISTATS 2010) init."""
- init_range = np.sqrt(6.0/(shape[0]+shape[1]))
- initial = tf.random_uniform(shape, minval=-init_range, maxval=init_range, dtype=tf.float32)
- return tf.Variable(initial, name=name)
- def zeros(shape, name=None):
- """All zeros."""
- initial = tf.zeros(shape, dtype=tf.float32)
- return tf.Variable(initial, name=name)
- def ones(shape, name=None):
- """All ones."""
- initial = tf.ones(shape, dtype=tf.float32)
- return tf.Variable(initial, name=name)
- def trunc_normal(shape, name=None, normalize=True):
- initial = tf.Variable(tf.truncated_normal(shape, stddev=1.0 / math.sqrt(shape[0])))
- if not normalize: return initial
- return tf.nn.l2_normalize(initial, 1)
|