-
Notifications
You must be signed in to change notification settings - Fork 1
/
job.py
48 lines (37 loc) · 1.12 KB
/
job.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# description: train a lightgbm model on iris data
# imports
from pathlib import Path
from azureml.core import Workspace
from azureml.core import ScriptRunConfig, Experiment, Environment, Dataset
# get workspace
ws = Workspace.from_config()
# get root of git repo
prefix = Path(__file__).parent
# training script
script_dir = str(prefix.joinpath("src"))
script_name = "train.py"
# environment file
environment_file = str(prefix.joinpath("requirements.txt"))
# azure ml settings
environment_name = "lightgbm-iris-example"
experiment_name = "lightgbm-iris-example"
compute_name = "cpu-cluster"
# create environment
env = Environment.from_pip_requirements(environment_name, environment_file)
# create dataset
ds = Dataset.File.from_files(
"https://azuremlexamples.blob.core.windows.net/datasets/iris.csv"
)
# arguments
args = ["--data-dir", ds.as_mount()]
# create job config
src = ScriptRunConfig(
source_directory=script_dir,
script=script_name,
environment=env,
arguments=args,
compute_target=compute_name,
)
# submit job
run = Experiment(ws, experiment_name).submit(src)
run.wait_for_completion(show_output=True)