GAN实验错误记录——tensorflow.python.framework.errors_impl.InvalidArgumentError

报错提示

tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [128,6040] rhs shape= [128,1]

实验描述

将训练的模型参数保存之后,需要在另外的文件中导入这些训练好的参数,用于后续的实验。

解决措施

根据报错提示,问题出在参数的维度上。但在检查的过程中,各参数的类型、维度与训练文件中参数的设置相同。

接着尝试把D部分的参数放置在Q、P之后,与原训练文件中的参数声明保持一致,成功解决了该问题。

""" Q """
Q_W1 = tf.Variable(xavier_init([X_dim, h_dim]))
Q_b1 = tf.Variable(tf.zeros(shape=[h_dim]))
Q_W2 = tf.Variable(xavier_init([h_dim, z_dim]))
Q_b2 = tf.Variable(tf.zeros(shape=[z_dim]))

""" P """
P_W1 = tf.Variable(xavier_init([z_dim, h_dim]))
P_b1 = tf.Variable(tf.zeros(shape=[h_dim]))
P_W2 = tf.Variable(xavier_init([h_dim, X_dim]))
P_b2 = tf.Variable(tf.zeros(shape=[X_dim]))

""" D """
D_W1 = tf.Variable(xavier_init([X_dim, h_dim]))
D_b1 = tf.Variable(tf.zeros(shape=[h_dim]))
D_W2 = tf.Variable(xavier_init([h_dim, 1]))
D_b2 = tf.Variable(tf.zeros(shape=[1]))

小结

“tensorflow.python.framework.errors_impl.InvalidArgumentError”
==> 导入模型的参数维度与当前文件中参数维度不匹配
==> 确保在导入模型参数的文件中,参数的类型声明顺序与原训练文件中参数的声明一致。

你可能感兴趣的:(GAN实验记录,tensorflow,机器学习,深度学习)