我想查看计算v_t的ADAM算法的每次迭代的结果,因此我将以下代码添加到keras \ optimizers.py文件中的Adam类中:
diff -y --suppress-common-lines file1 file2
我希望获得此形状中的每个数值,类似于矩阵的形式。 但下面的输出不是我的预期:
sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)
v_t: Tensor("training/Adam/add_2:0", shape=(8, 512), dtype=float32)
这行代码是Adam类本身的一部分,下一行添加了自己的代码:
v_t: Tensor("training/Adam/add_5:0", shape=(128, 512), dtype=float32)
我做了以下尝试,但会报告错误如下: InvalidArgumentError(参见上面的回溯):Shape [-1,1,8]具有负尺寸 [[节点:lstm_1_input = Placeholderdtype = DT_FLOAT,shape = [?,1,8],_ device =“/ job:localhost / replica:0 / task:0 / cpu:0”]]
这是我的模特:
v_t = (self.beta_2 * v) + (1. - self.beta_2) * K.square(g)
print('v_t:',v_t)# This is my added code
model = Sequential()
model.add(LSTM(128, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(1))
我只想输出这个形状的每个值。