Exemple #1
0
def main():
    """Route 0 entry point.

    """

    parser = argparse.ArgumentParser(
        description='Launch an FRR network experiment in Mininet.')
    parser.add_argument('-t',
                        '--topology',
                        required=True,
                        help='the topology of the network')
    parser.add_argument('-s',
                        '--scenario',
                        required=True,
                        help='the scenario to set up in the network')
    args = parser.parse_args()

    experiment = Experiment(args.topology, args.scenario)

    run(experiment)
from metrics.dmetric_reinforce_rbuf_over_time import *
from util.experiment import Experiment

for base in range(0, 10):
    try:
        exp = Experiment(
            'diversity_over_time_rein_full_150steps_base{}'.format(base),
            dry=False)

        env_list = []

        for i in [
                base * 5, base * 5 + 1, base * 5 + 2, base * 5 + 3,
                base * 5 + 4
        ]:
            env_list.append(Gridworld(width=4, height=4, cell_size=32, seed=i))

        exp.run(get_diversity,
                params={
                    'env_list': env_list,
                    'training_iterations': 100,
                    'steps': 150,
                    'verbose': True
                },
                k=2)
    except:
        print('crash base=', base)
Exemple #3
0
from metrics.dmetric_over_time_greed import *
from util.experiment import Experiment

exp = Experiment('diversity_greed_test_setC')

env_list = []

for j in [10, 11, 12, 13, 14]:
    env_list.append(Gridworld(width=4, height=4, cell_size=32, seed=j))

exp.run(get_diversity,
        params={
            'env_list': env_list,
            'training_iterations': 100,
            'steps': 50,
            'verbose': True
        },
        k=5)
Exemple #4
0
from metrics.dmetric import *
from util.experiment import Experiment

for base in range(1, 100):
    exp = Experiment('diversity_set_size_10_offset_{}_3k'.format(base))

    env_list = []

    for i in range(10):
        env_list.append(Gridworld(width=4, height=4, cell_size=32, seed=(10 * base + i)))

    exp.run(get_diversity, params={ 'env_list' : env_list, 'training_iterations' : 3000 }, k=4)
Exemple #5
0
from metrics.dmetric_reinforce import *
from util.experiment import Experiment

exp = Experiment('diversity_set_b_reinforce_10k', dry=False)

env_list = []

for i in range(10, 15):
    env_list.append(Gridworld(width=4, height=4, cell_size=32, seed=i))

exp.run(get_diversity,
        params={
            'env_list': env_list,
            'training_iterations': 10000
        },
        k=10)
Exemple #6
0
from metrics.dmetric_over_time_rbuf import *
from util.experiment import Experiment

for i in range(0, 10):
    exp = Experiment('identity_test_{}_all_states_25k'.format(i))

    env_list = [
        Gridworld(width=4, height=4, cell_size=32, seed=i),
        Gridworld(width=4, height=4, cell_size=32, seed=i)
    ]

    exp.run(get_diversity,
            params={
                'env_list': env_list,
                'training_iterations': 1000,
                'steps': 25,
                'verbose': True
            },
            k=1)
parser = argparse.ArgumentParser()
parser.add_argument('--model', type=absolute_path, required=True, help="Path to the model to verify (.pth)")
parser.add_argument('--num_points', type=int, default=1024, help="Number of points per point cloud")
parser.add_argument('--experiment', type=str, help="Unique identifier name for the experiment. Will be generated by default")
parser.add_argument('--theta', type=parse_theta, nargs='+', required=True, help="List of transformation parameters to certify. Either number or number followed by 'deg' for degree.")
parser.add_argument('--intervals', type=int, default=1, help="Number of parameter splits per dimension")
parser.add_argument('--transformation', type=str, default='RotationZ', help="The transformation function, or composition of multiple transformations separated by '+'")
parser.add_argument('--pooling', choices=['improved_max'], default='improved_max', help='The pooling function to use')
parser.add_argument('--relaxation', default='taylor', choices=['taylor', 'interval'], help="The relaxation to use")
parser.add_argument('--seed', type=int, default=DEFAULT_SEED, help='Seed for random number generators')
parser.add_argument('--implicit-intervals', type=int, default=1, help="Number of implicit splits for interval bound refinement")

settings = parser.parse_args()

experiment = Experiment(settings)
logger = experiment.logger
checkpoints = experiment.load_checkpoints()

transformation = parse_transformation(settings.transformation)
parameters = settings.theta
if len(parameters) != transformation.num_params:
    raise ValueError(f"The number of parameters does no match those required by the transformation. Expected {transformation.num_params}, received {parameters}")

test_data = datasets.shapenet(num_points=settings.num_points, split='test', rotate='none')
num_total_classes = 50

torch_model = PointNetSegmentation(
    number_points=settings.num_points,
    num_seg_classes=num_total_classes,
    encode_onnx=True
Exemple #8
0
import numpy as np
from gw_collect import Gridworld
from util.experiment import Experiment

from common.nn import LinRegNet, LogRegNet
from vicero.algorithms.deepqlearning import DQN
from vicero.algorithms.reinforce import Reinforce

exp = Experiment('gw_collect_rein_benchmark_all2', dry=False)


def random_benchmark(env, iterations):
    all_durations = []

    for _ in range(iterations):
        env.reset()
        done = False
        duration = 0
        while not done:
            _, _, done, _ = env.step(env.action_space.sample())
            duration += 1
        all_durations.append(duration)

    return all_durations


def dqn_benchmark(env, iterations):
    histories = []
    for _ in range(iterations):
        dqn = DQN(env,
                  qnet=LinRegNet(64, 4).double(),
                    choices=['improved_max', 'max', 'avg'],
                    default='improved_max',
                    help='The pooling function to use')
parser.add_argument('--max_features',
                    type=int,
                    default=1024,
                    help='The number of global features')
parser.add_argument('--seed',
                    type=int,
                    default=DEFAULT_SEED,
                    help='seed for random number generator')
parser.add_argument('--experiment', type=str, help='name of the experiment')

settings = parser.parse_args()

experiment = Experiment(settings)
logger = experiment.logger
set_random_seed(settings.seed)

test_data = datasets.modelnet40(num_points=settings.num_points,
                                split='test',
                                rotate='none')

torch_model = PointNet(number_points=settings.num_points,
                       num_classes=test_data.num_classes,
                       max_features=settings.max_features,
                       pool_function=settings.pooling,
                       disable_assertions=True,
                       transposed_input=True)
torch_model.load_state_dict(
    torch.load(settings.model, map_location=torch.device('cpu')))
Exemple #10
0
from metrics.diversity import get_diversity
from util.experiment import Experiment
from gw_collect import Gridworld

for base in range(1, 6):
    env_list = []

    for i in [
            base * 5, base * 5 + 1, base * 5 + 2, base * 5 + 3, base * 5 + 4
    ]:
        env_list.append(Gridworld(width=4, height=4, cell_size=32, seed=i))

    # dqn full
    try:
        exp = Experiment('set{}_div_dqn_full'.format(base), dry=False)
        exp.run(get_diversity,
                params={
                    'env_list': env_list,
                    'training_iterations': 100,
                    'steps': 100,
                    'verbose': True,
                    'learning_alg': 'dqn',
                    'state_dist': 'full'
                },
                k=3)
    except Exception as e:
        print(e)

    # dqn memory
    try:
        exp = Experiment('set{}_div_dqn_memory'.format(base), dry=False)
from metrics.dmetric_over_time import *
from util.experiment import Experiment

exp = Experiment('set_size__diversity', dry=True)

env_list = []
    
for j in [0, 1, 2, 3, 4]:
    env_list.append(Gridworld(width=4, height=4, cell_size=32, seed=j))

exp.run(get_diversity, params={ 'env_list' : env_list, 'training_iterations' : 100, 'steps' : 50, 'verbose' : True }, k=5)