wandb_agent Subroutine

public subroutine wandb_agent(sweep_id, project, count, entity)

Run a wandb sweep agent.

Calls wandb.agent(sweep_id, count=count, project=project). After this returns, call wandb_config_get to read the sampled hyperparameters, run your training loop, then call wandb_finish.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: sweep_id

Sweep ID returned by wandb_sweep.

character(len=*), intent(in) :: project

wandb project name.

integer, intent(in), optional :: count

Number of runs to execute (0 = until sweep is done).

character(len=*), intent(in), optional :: entity

Optional wandb entity/team.


Source Code

  subroutine wandb_agent(sweep_id, project, count, entity)
    !! Run a wandb sweep agent.
    !!
    !! Calls wandb.agent(sweep_id, count=count, project=project).  After this
    !! returns, call wandb_config_get to read the sampled hyperparameters,
    !! run your training loop, then call wandb_finish.
    !!
    !! @param sweep_id  Sweep ID returned by wandb_sweep.
    !! @param project   wandb project name.
    !! @param count     Number of runs to execute (0 = until sweep is done).
    !! @param entity    Optional wandb entity/team.
    character(len=*),           intent(in) :: sweep_id
    character(len=*),           intent(in) :: project
    integer,          optional, intent(in) :: count
    character(len=*), optional, intent(in) :: entity

    character(len=:), allocatable :: c_entity
    integer(c_int) :: rc, c_count

    c_count = 0_c_int
    if(present(count)) c_count = int(count, c_int)

    if(present(entity))then
       c_entity = entity // c_null_char
    else
       c_entity = c_null_char
    end if

    rc = wandb_agent_c( &
         sweep_id // c_null_char, &
         project  // c_null_char, &
         c_entity,                &
         c_count                  &
    )

    if(rc /= 0)then
       write(0,*) "[wf] WARNING: wandb_agent failed (rc=", rc, ")"
    end if

  end subroutine wandb_agent