Tôi có một vòng lặp trong TensorFlow trông như thế này:Làm cách nào để giảm mức tiêu thụ bộ nhớ trong một vòng lặp trong TensorFlow?
with tf.device("/gpu:1"):
losses = []
for target, output in zip(targets, lstm_outputs):
logits = tf.matmul(W, output) + b
loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, target)
losses.append(loss)
total_loss = tf.add_n(losses)
Tôi nhận được một lỗi oom khi phân bổ các gradient cho lớp này, vì mỗi nhân ma trận là một hoạt động khác nhau trong đồ thị dùng bộ nhớ. Có cách nào ngăn TensorFlow phân bổ tất cả các hoạt động này cùng một lúc không?
Tôi đã thử hai EXPERIMENTAL_ACCUMULATE_N và EXPERIMENTAL_TREE này không có kết quả. Tôi sẽ thử sử dụng một vòng lặp while. – Maarten
Tôi đã có thể giải quyết vấn đề này, bằng cách cập nhật từ bản phát hành ổn định thành bản chính kết hợp với việc sử dụng EXPERIMENTAL_ACCUMULATE_N. @ cám ơn vì những nỗ lực và sự đáp ứng của bạn. – Maarten