Created
September 4, 2017 03:06
-
-
Save vrjkmr/7c1a82776a53a3864e151b18a0db553c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def initialize_parameters(): | |
''' | |
Initializes parameters to build a neural network with tensorflow. The shapes are: | |
W1 : [n_hidden_1, n_input] | |
b1 : [n_hidden_1, 1] | |
W2 : [n_hidden_2, n_hidden_1] | |
b2 : [n_hidden_2, 1] | |
W3 : [n_classes, n_hidden_2] | |
b3 : [n_classes, 1] | |
Returns: | |
parameters -- a dictionary of tensors containing W1, b1, W2, b2, W3, b3 | |
''' | |
# Set random seed for reproducibility | |
tf.set_random_seed(42) | |
# Initialize weights and biases for each layer | |
# First hidden layer | |
W1 = tf.get_variable("W1", [n_hidden_1, n_input], initializer=tf.contrib.layers.xavier_initializer(seed=42)) | |
b1 = tf.get_variable("b1", [n_hidden_1, 1], initializer=tf.zeros_initializer()) | |
# Second hidden layer | |
W2 = tf.get_variable("W2", [n_hidden_2, n_hidden_1], initializer=tf.contrib.layers.xavier_initializer(seed=42)) | |
b2 = tf.get_variable("b2", [n_hidden_2, 1], initializer=tf.zeros_initializer()) | |
# Output layer | |
W3 = tf.get_variable("W3", [n_classes, n_hidden_2], initializer=tf.contrib.layers.xavier_initializer(seed=42)) | |
b3 = tf.get_variable("b3", [n_classes, 1], initializer=tf.zeros_initializer()) | |
# Store initializations as a dictionary of parameters | |
parameters = { | |
"W1": W1, | |
"b1": b1, | |
"W2": W2, | |
"b2": b2, | |
"W3": W3, | |
"b3": b3 | |
} | |
return parameters |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment