if model_type == 'DLSTM3':
            model = models.DLSTM3(feature_size, hidden_size)
            model.load_state_dict(checkpoint['state_dict'])
        else:
            raise ValueError("Model type not recognized")
    else:
        if model_type == 'DLSTM3':
            model = models.DLSTM3(feature_size, hidden_size)
        elif model_type == 'SingleLSTM':
            model = models.SingleLSTM(feature_size, hidden_size)
        else:
            raise ValueError("Model type not recognized")

    model = model.to(device)
    print("This model has {} trainable parameters".format(
        count_trainable_params(model)))
    ###############################################################################
    # Training code
    ###############################################################################
    optimizer = torch.optim.Adam(model.parameters(), lr=args.lr)
    try:
        optimizer.load_state_dict(checkpoint['optimizer'])
    except NameError:
        print("Optimizer initializing")

    criterion = nn.NLLLoss().to(device)
    warm_up_text = open(args.train, encoding='utf-8').read()[0:args.bptt]
    '''
    Training Loop
    Can interrupt with Ctrl + C
    '''
with tf.Session(config=sess_config) as sess:
    tf.global_variables_initializer().run()

    model_name = 'split1_nonlocal'

    # load_fn = slim.assign_from_checkpoint_fn(os.path.join(
    #     './logs/results/model', 'triple_anet'+'.model-60'),tf.global_variables(),ignore_missing_vars=True)
    # load_fn(sess)
    # print(model_name+' have been loaded')

    mkdir_if_missing('./logs/' + model_name + '/')
    mkdir_if_missing('./logs/' + model_name + '/saliency/')
    mkdir_if_missing('./logs/' + model_name + '/model/')

    saver = tf.train.Saver(tf.global_variables())
    parameters = utils.count_trainable_params()
    print("Total training params: %.1fM \r\n" % (parameters / 1e6))

    infile = open('./logs/' + model_name + '/log_split1.txt', 'w')
    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord)
    try:
        GGamma = {}
        start_time = time.time()
        learning_rate = 0.01
        # learning_rate = 0.0
        batch_count = np.int32(9688 / batch_size)
        # batch_count = np.int32(600 / batch_size)
        counter = 0
        train_images, train_label = sess.run(
            [train_image_batch, train_label_batch])
Exemple #3
0
            model = models.DLSTM3(feature_size, hidden_size)
            model.load_state_dict(checkpoint['state_dict'])
        else:
            raise ValueError("Model type not recognized")
    else:
        if model_type == 'DLSTM3':
            model = models.DLSTM3(feature_size, hidden_size)
        elif model_type == 'SingleLSTM':
            model = models.SingleLSTM(feature_size, hidden_size)
        else:
            raise ValueError("Model type not recognized")

    model = model.to(device)

    ### Size of model
    print ("This model has {} trainable parameters".format(count_trainable_params(model)))
    ###############################################################################
    # Training code
    ###############################################################################


    ### Optimizer
    optimizer = torch.optim.Adam(model.parameters(), lr=args.lr)
    try:
        optimizer.load_state_dict(checkpoint['optimizer'])
    except NameError:
        print("Optimizer initializing")


    ### Loss function 
    criterion = nn.NLLLoss().to(device)