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'],
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(