Tensorflow tf.gradients负载沉重

Tensorflow tf.gradients负载沉重,tensorflow,Tensorflow,我通过以下方式使用tf.gradients为CIFAR10创建了一个自动编码器模型: W = tf.Variable(tf.truncated_normal([dimensionality, code_size], stddev=0.1)) b = tf.Variable(tf.constant(0.1, shape=[code_size])) b_r = tf.Variable(tf.constant(0.1, shape=[dimensionality])) code_data = tf.

我通过以下方式使用tf.gradients为CIFAR10创建了一个自动编码器模型:

W = tf.Variable(tf.truncated_normal([dimensionality, code_size], stddev=0.1))
b = tf.Variable(tf.constant(0.1, shape=[code_size]))
b_r = tf.Variable(tf.constant(0.1, shape=[dimensionality]))

code_data = tf.nn.sigmoid(tf.matmul(training_data, W) + b)
recover = tf.matmul(code_data, tf.transpose(W)) + b_r
grad_phi_psi = []
for i in range(batch_size):
    for j in range(dimensionality):
        grad_phi_psi.append(tf.gradients(recover[i][j], [training_data[i]], unconnected_gradients='zero')[0])
grad_phi_psi = tf.reshape(tf.stack(grad_phi_psi), [batch_size, dimensionality, dimensionality])
虽然我只有batch_size=10,dimensionality=3072,但那里的循环占用了大量时间,几乎填满了整个64Gb RAM

经过模型构建和会话初始化后,它只使用了250Mb的GPU内存,但运行速度非常慢。内存还是满的

RAM负载如此重的原因是什么。由于我需要增加批次大小,是否可以以某种方式解决此问题