I want to look at the results of each iteration of the ADAM algorithm that computes v_t, so I added the following code to the Adam class in the keras\optimizers.py file:
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
I want to get every numeric value in this shape, similar to the form of a matrix. But the output below is not what I expected:
v_t: Tensor("training/Adam/add_2:0", shape=(8, 512), dtype=float32)
v_t: Tensor("training/Adam/add_5:0", shape=(128, 512), dtype=float32)
This line of code is part of the Adam class itself, and the next line adds its own:
v_t = (self.beta_2 * v) + (1. - self.beta_2) * K.square(g)
print('v_t:',v_t)# This is my added code
I made the following attempts but would report the error as follows: InvalidArgumentError (see above for traceback): Shape [-1,1,8] has negative dimensions [[Node: lstm_1_input = Placeholderdtype=DT_FLOAT, shape=[?,1,8], _device="/job:localhost/replica:0/task:0/cpu:0"]]
This is my model:
model = Sequential()
model.add(LSTM(128, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam',metrics=['mae'])
I just want to output every value in this shape.
If your backend is Tensorflow you can use tf.Print() to print the value of a tensor.