I want to set the weights of my model to very large numbers from a random normal distribution. Here's my current solution:
weights = tf.keras.initializers.random_normal()
weights = weights(shape=(2, 5)).numpy() * 100
model = tf.keras.Sequential([
tf.keras.layers.Dense(5, activation="tanh", input_shape=(X_train.shape[1],), kernel_initializer=weights),
tf.keras.layers.Dense(2, activation="tanh"),
tf.keras.layers.Dense(2, activation="tanh"),
tf.keras.layers.Dense(1, activation="sigmoid")
])
model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.01),
loss="mse",
metrics=["accuracy"])
history = model.fit(X_train, y_train, epochs=100, validation_data=[X_test, y_test])
This results in the following output:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-145-2307b7a2c402> in <module>()
3
4 model = tf.keras.Sequential([
----> 5 tf.keras.layers.Dense(5, activation="tanh", input_shape=(X_train.shape[1],), kernel_initializer=weights),
6 tf.keras.layers.Dense(2, activation="tanh"),
7 tf.keras.layers.Dense(2, activation="tanh"),
1 frames
/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py in get(identifier)
191 else:
192 raise ValueError('Could not interpret initializer identifier: ' +
--> 193 str(identifier))
ValueError: Could not interpret initializer identifier: [[ 1.8304478 -1.3845474 -2.438812 -7.1097493 6.8744435 ]
[ 3.2775316 0.75484884 -0.7150349 1.852715 -8.842371 ]]