Skip to content
Snippets Groups Projects
testing.py 1.3 KiB
Newer Older
Rishi Sharma's avatar
Rishi Sharma committed
import argparse
Rishi Sharma's avatar
Rishi Sharma committed
import logging
Rishi Sharma's avatar
Rishi Sharma committed

Rishi Sharma's avatar
Rishi Sharma committed
from localconfig import LocalConfig
Rishi Sharma's avatar
Rishi Sharma committed
from torch import multiprocessing as mp

from decentralizepy.graphs.Graph import Graph
from decentralizepy.mappings.Linear import Linear
from decentralizepy.node.Node import Node

Rishi Sharma's avatar
Rishi Sharma committed

Rishi Sharma's avatar
Rishi Sharma committed
def read_ini(file_path):
    config = LocalConfig(file_path)
    for section in config:
        print("Section: ", section)
        for key, value in config.items(section):
            print((key, value))
Rishi Sharma's avatar
Rishi Sharma committed
    print(dict(config.items("DATASET")))
Rishi Sharma's avatar
Rishi Sharma committed
    return config
Rishi Sharma's avatar
Rishi Sharma committed

Rishi Sharma's avatar
Rishi Sharma committed

Rishi Sharma's avatar
Rishi Sharma committed
if __name__ == "__main__":
Rishi Sharma's avatar
Rishi Sharma committed
    config = read_ini("config.ini")
    my_config = dict()
    for section in config:
        my_config[section] = dict(config.items(section))
Rishi Sharma's avatar
Rishi Sharma committed

Rishi Sharma's avatar
Rishi Sharma committed
    parser = argparse.ArgumentParser()
    parser.add_argument("-mid", "--machine_id", type=int, default=0)
    parser.add_argument("-ps", "--procs_per_machine", type=int, default=1)
    parser.add_argument("-ms", "--machines", type=int, default=1)

    args = parser.parse_args()

Rishi Sharma's avatar
Rishi Sharma committed
    g = Graph()
Rishi Sharma's avatar
Rishi Sharma committed
    g.read_graph_from_file("36_nodes.edges", "edges")
Rishi Sharma's avatar
Rishi Sharma committed
    n_machines = args.machines
    procs_per_machine = args.procs_per_machine
Rishi Sharma's avatar
Rishi Sharma committed
    l = Linear(n_machines, procs_per_machine)
Rishi Sharma's avatar
Rishi Sharma committed
    m_id = args.machine_id
Rishi Sharma's avatar
Rishi Sharma committed

Rishi Sharma's avatar
Rishi Sharma committed
    mp.spawn(
        fn=Node,
        nprocs=procs_per_machine,
Rishi Sharma's avatar
Rishi Sharma committed
        args=[m_id, l, g, my_config, 20, "results", logging.INFO],
Rishi Sharma's avatar
Rishi Sharma committed
    )