Я тренирую нейронную сеть с TensorFlow на NVIDIA GEFORCE GTX 1080 Ti.Мой процессор имеет 32 ГБ оперативной памяти.Сеть имеет только 1 скрытый слой с весами фигур [16788,10000] и [10000, 1478] соответственно.Размер мини-пакета = 256.
for epo in range(self.epochs):
loss_sum = 0
for mini_count in (range(len(mini_batches_x1_train))):
batch_x1 = tf.one_hot(mini_batches_x1_train[mini_count], self.voc_size).eval()
batch_x2 = mini_batches_x2_train[mini_count][0].toarray()
batch_x = np.concatenate((batch_x1, batch_x2), axis = 1)
batch_y = mini_batches_y_train[mini_count]
batch_y = np.array(batch_y).reshape(len(batch_y),1) #for tf.nce_loss()
_, mini_loss = sess.run([optimizer,loss], feed_dict={X: batch_x, Y: batch_y})
loss_sum += mini_loss
avg_loss = loss_sum/len(mini_batches_x1_train)
print("\nEpoch", epo+1, " completed at ",time.ctime(time.time()), " | Epoch Loss = ", avg_loss)
После успешного завершения 3 эпох появляется следующая ошибка:
ResourceExhaustedError: OOM when allocating tensor with shape[16788,10000] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
Требуется ли больше эпох для большего количества памяти?Где я могу быть не прав?Просьба предложить возможные решения для преодоления этого.