Сбой ноутбука Jupyter - PullRequest
0 голосов
/ 07 апреля 2020

Я только что купил GPU, чтобы установить компьютер, на котором я размещаю ноутбук Jupyter. Я туннелирую вывод ноутбука jupyter с вышки на ноутбук через s sh. Я запускаю некоторый код, и блокнот jupyter каждый раз останавливается на одной и той же строке. Замерзает не только ноутбук Jupyter, но и все на башне. Если у меня есть другие s sh соединения, они зависают. Если я использую GUI прямо на башне, она заморожена. Ничего не реагирует, пока я не нажму кнопку питания, чтобы перезагрузить компьютер.

Странно то, что, хотя ничего не отвечает, ничто не прерывается. сеансы s sh сохраняют свои соединения. домашняя страница ноутбука jupyter утверждает, что он все еще подключен. Это очень странно, и я не уверен, что это проблема с кодом или башней, так что я не уверен, стоит ли публиковать это здесь или где-то еще. Но вот код

def show_img(x):
    x = x.clone().detach().permute(1,2,0).numpy()
    print(x.shape)
    x = rio.convert_tensor_to_rgb(x)
    print(x.shape)
    plt.figure(figsize=(8, 8))
    plt.axis('off')
    _ = plt.imshow(x)

# define generator discriminator, dataloader, other stuff....
G.cuda()
D.cuda()
g_optim = optim.RMSprop(G.parameters(), lr=lr)
d_optim = optim.RMSprop(D.parameters(), lr=lr)
g_losses = []
d_losses = []
i_losses = []
for epoch in range(n_epochs):
    dataloader = DataLoader(train_dataset, batch_size=batch_size,
                            shuffle=True, pin_memory=True,
                            num_workers=num_workers)
    g_loss = 0.0 # g_loss is the generator's loss
    d_loss = 0.0 # d_loss is the discriminator's loss
    i_loss = 0.0 # i_loss is the generator's loss for not being invertable
    i_weight = 10 # prioritize being invertible ten times more than minimizing g_loss
    x,y,z = train_dataset[0]
    print("image")
    show_img(x)
    print("target")
    show_img(y)
    print("generated")
    x,y = x.cuda(), y.cuda()
    g = G(x.unsqueeze(0),y.unsqueeze(0))
    print(g.shape)
    show_img(g.squeeze().cpu())
    loop = tqdm(total=len(dataloader), position=0, file=sys.stdout)
    print("just to be sure") #prints this
    for minibatch, (image, batchImage, exp_batch) in enumerate(dataloader): #this is the line it freezes on?
        print("image ", image.shape, " batchImage ", batchImage.shape, " experiment batch ", exp_batch) # doesn't print this. already frozen

РЕДАКТИРОВАТЬ: GUI и s sh реагируют, но необычно медленно. Я предполагаю, что основная проблема заключается в том, что код все еще зависает в указанной строке кода, и я не знаю почему.

1 Ответ

0 голосов
/ 08 апреля 2020

Я нашел проблему. Размер партии был 32, что было очень много, учитывая размер изображений. Я думаю, что это просто сбой после попытки загрузить их все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...