my_num = my_num + 1

            # if int(topi[0]) == 0:
            #     break

        loss.backward()
        encoder_optimizer1.step()
        decoder_optimizer1.step()
        return loss.data[0]


encoder = DenseNet121().cuda()
attn_decoder1 = AttnDecoderRNN(hidden_size, 112, dropout_p=0.1).cuda()
lr_rate = 0.00009
encoder_optimizer1 = torch.optim.Adam(encoder.parameters(), lr=lr_rate)
decoder_optimizer1 = torch.optim.Adam(attn_decoder1.parameters(), lr=lr_rate)

criterion = nn.CrossEntropyLoss()
loss_all_compare = 100

for epoch in range(1000):

    # if using SGD optimizer
    # if epoch%8 == 0:
    #     lr_rate = lr_rate/10
    # encoder_optimizer1 = torch.optim.SGD(encoder.parameters(), lr=lr_rate,momentum=0.9)
    # decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(), lr=lr_rate,momentum=0.9)

    running_loss = 0
    whole_loss = 0
    torch.load(
        'model_69/attn_decoder_lr0.00000_GN_te1_d05_SGD_bs6_mask_conv_bn_b_xavier.pkl'
    ))

decoder_input_init = torch.LongTensor([111] * batch_size).cuda()
decoder_hidden_init = torch.randn(batch_size, 1, hidden_size).cuda()
nn.init.xavier_uniform_(decoder_hidden_init)

# encoder_optimizer1 = torch.optim.Adam(encoder.parameters(), lr=lr_rate)
# decoder_optimizer1 = torch.optim.Adam(attn_decoder1.parameters(), lr=lr_rate)

for epoch in range(200):
    encoder_optimizer1 = torch.optim.SGD(encoder.parameters(),
                                         lr=lr_rate,
                                         momentum=0.9)
    decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(),
                                         lr=lr_rate,
                                         momentum=0.9)

    # # if using SGD optimizer
    # if epoch+1 == 50:
    #     lr_rate = lr_rate/10
    #     encoder_optimizer1 = torch.optim.SGD(encoder.parameters(), lr=lr_rate,momentum=0.9)
    #     decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(), lr=lr_rate,momentum=0.9)
    # if epoch+1 == 75:
    #     lr_rate = lr_rate/10
    #     encoder_optimizer1 = torch.optim.SGD(encoder.parameters(), lr=lr_rate,momentum=0.9)
    #     decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(), lr=lr_rate,momentum=0.9)

    running_loss = 0
    whole_loss = 0
Esempio n. 3
0
    return numpy.array(pil_im.resize(sz))


criterion = nn.NLLLoss()
# encoder.load_state_dict(torch.load('model/encoder_lr0.00001_BN_te1_d05_SGD_bs8_mask_conv_bn_b.pkl'))
# attn_decoder1.load_state_dict(torch.load('model/attn_decoder_lr0.00001_BN_te1_d05_SGD_bs8_mask_conv_bn_b.pkl'))
decoder_input_init = torch.LongTensor([111]*batch_size).cuda()
decoder_hidden_init = torch.randn(batch_size, 1, hidden_size).cuda()
nn.init.xavier_uniform_(decoder_hidden_init)

# encoder_optimizer1 = torch.optim.Adam(encoder.parameters(), lr=lr_rate)
# decoder_optimizer1 = torch.optim.Adam(attn_decoder1.parameters(), lr=lr_rate)

for epoch in range(200):
    encoder_optimizer1 = torch.optim.SGD(encoder.parameters(), lr=lr_rate,momentum=0.9)
    decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(), lr=lr_rate,momentum=0.9)

    # # if using SGD optimizer
    # if epoch+1 == 50:
    #     lr_rate = lr_rate/10
    #     encoder_optimizer1 = torch.optim.SGD(encoder.parameters(), lr=lr_rate,momentum=0.9)
    #     decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(), lr=lr_rate,momentum=0.9)
    # if epoch+1 == 75:
    #     lr_rate = lr_rate/10
    #     encoder_optimizer1 = torch.optim.SGD(encoder.parameters(), lr=lr_rate,momentum=0.9)
    #     decoder_optimizer1 = torch.optim.SGD(attn_decoder1.parameters(), lr=lr_rate,momentum=0.9)


    running_loss=0
    whole_loss = 0