import tensorflow as tf

        returns_post_warmup = testeval(policy, runners['collect'])
        if test:
            test_returns.append(returns_post_warmup)
            test_summary['warmup'].append(returns_post_warmup)
            print ("warmupprocess:", test_summary['warmupprocess'][TEST_TASK_NUM])

        logger.info('Sync warmup policy and vfn and model')
        tf.get_default_session().run([sync_warmup_policy, sync_warmup_vfn, sync_warmup_model])
        for p in warmup_policy.parameters(): p.invalidate()
        for p in warmup_vfn.parameters(): p.invalidate()
        for p in warmup_model.parameters(): p.invalidate()
        for p in policy.parameters(): p.invalidate()
        task.parameters().invalidate()

        pol_params, warm_params = tf.get_default_session().run([nn.utils.parameters_to_vector(policy.parameters()), nn.utils.parameters_to_vector(warmup_policy.parameters())])
        print ("After WARMUP, pol_params_norm:", np.linalg.norm(pol_params), "warm_params_norm:", np.linalg.norm(warm_params))
        mod, warm_mod = tf.get_default_session().run([nn.utils.parameters_to_vector(model.parameters()), nn.utils.parameters_to_vector(warmup_model.parameters())])
        print ("mod_norm:", np.linalg.norm(mod), "warm_mod_norm:", np.linalg.norm(warm_mod))

        eval_rollout(runners['train'], warmup_policy, 'Use warmup policy to collect data from virtual env')
        warmup_collect_virt = []

        eval_rollout(runners['train'], policy, 'Use policy to collect data from virtual env')
        warmup_collect_real = []
        
        logger.info('--------------------------------------------- SLBO for %d outer stages -----------------------------------------' % slbo_n_stages)
        for T in range(slbo_n_stages):
            logger.info('-------- Starting Stage %d ---------', T)
