Beispiel #1
0
def test_runs_sweeps(request_mocker):
    """Request a bunch of runs from different sweeps at the same time.
    Ensure each run's sweep attribute is set to the appropriate value.
    """
    api = Api()
    run_responses = [random_run_response() for _ in range(7)]
    sweep_a_response = random_sweep_response()
    sweep_b_response = random_sweep_response()
    run_responses[0]['sweepName'] = sweep_b_response['name']
    run_responses[1]['sweepName'] = sweep_a_response['name']
    run_responses[3]['sweepName'] = sweep_b_response['name']
    run_responses[4]['sweepName'] = sweep_a_response['name']
    run_responses[5]['sweepName'] = sweep_b_response['name']
    run_responses[6]['sweepName'] = sweep_b_response['name']

    runs_response = {
        'project': {
            'runCount': len(run_responses),
            'runs': {
                'pageInfo': {
                    'hasNextPage': False
                },
                'edges': [{
                    'node': r,
                    'cursor': 'cursor'
                } for r in run_responses],
            }
        }
    }
    mock_graphql_request(request_mocker,
                         runs_response,
                         body_match='query Runs')
    mock_graphql_request(request_mocker,
                         {'project': {
                             'sweep': sweep_a_response
                         }},
                         body_match=sweep_a_response['name'])
    mock_graphql_request(request_mocker,
                         {'project': {
                             'sweep': sweep_b_response
                         }},
                         body_match=sweep_b_response['name'])

    runs = list(api.runs('test/test'))
    sweep_a = runs[1].sweep
    sweep_b = runs[0].sweep
    assert len(runs) == len(run_responses)
    assert sweep_a.runs == [runs[1], runs[4]]
    assert sweep_b.runs == [runs[0], runs[3], runs[5], runs[6]]
    assert runs[0].sweep is sweep_b
    assert runs[1].sweep is sweep_a
    assert runs[2].sweep is None
    assert runs[3].sweep is sweep_b
    assert runs[4].sweep is sweep_a
    assert runs[5].sweep is sweep_b
    assert runs[6].sweep is sweep_b
from wandb import Api
import pandas as pd
from tqdm import tqdm
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 18, 'legend.fontsize': 14})

api = Api()

runs = api.runs(
    "jeppe742/language-of-molecules-graph", {
        '$and': [{
            'config.model': 'Transformer'
        }, {
            'config.num_layers': 4
        }, {
            'config.edge_encoding': 1
        }, {
            'config.dataset': 'qm9'
        }, {
            'tags': {
                "$ne": "old"
            }
        }]
    })

df = None
for run in tqdm(runs):
    df_temp = run.history()
    #df_temp['Attention'] = run.config['edge_encoding'] if isinstance(run.config['edge_encoding'], int) else run.config['edge_encoding']['value']
    df_temp['dataset'] = run.config['dataset']
    df_temp['epsilon_greedy'] = run.config['epsilon_greedy'] if isinstance(
        run.config['epsilon_greedy'],
Beispiel #3
0
from wandb import Api
import pandas as pd
from tqdm import tqdm
import matplotlib.pyplot as plt

plt.rcParams.update({'font.size': 18, 'legend.fontsize': 14})

api = Api()

runs = api.runs(
    "jeppe742/language-of-molecules-graph", {
        '$and': [{
            'config.model': 'Transformer'
        }, {
            'config.num_layers': 4
        }, {
            'tags': {
                "$ne": "old"
            }
        }]
    })

attention_types = {
    0: 'Graph attention',
    2: 'Graph edge attention',
    1: 'Full graph attention'
}
df = None
for run in tqdm(runs):
    df_temp = run.history()
    df_temp['Attention'] = run.config['edge_encoding'] if isinstance(