Я использую tenorflow для файлов NIfTI, иначе файлов .nii.Я сделал модель, открыл сессию и запустил код.Мои коды следующие:
def memory_usage_psutil():
# return the memory usage in GB
import psutil
process = psutil.Process(os.getpid())
mem = process.memory_info()[0] / float(2 ** 30)
return mem
sess = tf.Session()
sess.run(tf.global_variables_initializer())
for epoch in range(50):
for batch in range(len(imgs)//batch_size):
batch_imgs = [i.get_fdata() for i in imgs[batch*batch_size: (batch+1)*batch_size]]
with tf.device('/gpu:0'):
_, loss_val = sess.run([train, loss], feed_dict = {X:batch_imgs, Y:fi_train[batch*batch_size:(batch+1)*batch_size]})
print(epoch+1, '-th Epoch |', batch+1, '-th batch | Loss : ', loss_val)
print('Memory usage: %s (kb)'% resource.getrusage(resource.RUSAGE_SELF).ru_maxrss)
print("Memory usage: %s(gb)"%memory_usage_psutil())
tf.keras.backend.clear_session()
del _
del batch_imgs
del loss_val
И его результаты таковы:

Короче говоря, использование памяти моего компьютерапостоянно увеличивается, хотя я использовал код
tf.keras.backend.clear_session()
del _
del batch_imgs
del loss_val
Кроме того, я пытался tf.contrib.keras.backend.clear_session()
, tf.reset_default_graph()
, но они не работают.Как я могу решить эту проблему?Кто-нибудь знает?