Почему у меня кончилась память CUDA - PullRequest
0 голосов
/ 08 марта 2019

У меня есть NN, который обучен прогнозировать вывод уравнения с использованием pyTorch. Это очень простой, полностью связанный NN. Я использовал его в течение нескольких недель совершенно нормально, но по какой-то причине сегодня я начал получать ошибку CUDA error: out of memory. Я уменьшил размер пакета до 1 (изначально он работал нормально с размером пакета 1024), и я все еще получаю эту ошибку. Я запускаю это на общей машине Linux (однако я единственный пользователь большую часть времени). Я входил и выходил несколько раз и все еще получаю эту ошибку. Я попытался nvidia-smi и заметил, что использование графического процессора составляло 99-100%, однако позже это значение упало до 0%, и я все еще получаю сообщение об ошибке. Я действительно новичок в искусственном интеллекте и ничего не знаю о графических процессорах. У кого-нибудь есть идеи, в чем может быть проблема? Спасибо! Обновление: вот часть кода:

for filename in os.listdir(pathdir):
    print(filename)

    for i in range(1):

        n_variables = np.loadtxt(pathdir+"/%s" %filename, dtype='str').shape[1]-1
        variables = np.loadtxt(pathdir+"/%s" %filename, usecols=(0,))

        if n_variables==0:
            print("Solved! ", variables[0])
            continue
        elif n_variables==1:
            variables = np.reshape(variables,(len(variables),1))
        else:
            for j in range(1,n_variables):
                v = np.loadtxt(pathdir+"/%s" %filename, usecols=(j,))
                variables = np.column_stack((variables,v))

        f_dependent = np.loadtxt(pathdir+"/%s" %filename, usecols=(n_variables,))
        f_dependent = np.reshape(f_dependent,(len(f_dependent),1))

        factors = torch.from_numpy(variables[0:100000])
        print(len(factors))
        factors = factors.cuda()

Кажется, что ошибка появляется в последней строке, в factors = factors.cuda(). Factors - это тензор факела размером 4 x 100000. Я сделал размер 4 x 1 и все еще не хватает памяти CUDA.

...