3
3
import click
4
4
5
5
from paperspace import client , config
6
- from paperspace .cli import common
6
+ from paperspace .cli import common , cli_types
7
7
from paperspace .cli .cli import cli
8
8
from paperspace .cli .common import ClickGroup
9
9
from paperspace .commands import hyperparameters as hyperparameters_commands
10
10
11
11
12
+ def add_use_docker_file_flag_if_used (ctx , param , value ):
13
+ if value :
14
+ ctx .params ["useDockerFile" ] = True
15
+
16
+ return value
17
+
18
+
12
19
@cli .group (["hyperparameters" , "hyperparameter" ], help = "Manage hyperparameters" , cls = ClickGroup )
13
20
def hyperparameters_group ():
14
21
pass
@@ -20,49 +27,115 @@ def common_hyperparameter_create_options(f):
20
27
"--name" ,
21
28
"name" ,
22
29
required = True ,
30
+ help = "Job name" ,
23
31
),
24
32
click .option (
25
33
"--projectId" ,
26
34
"projectHandle" ,
27
35
required = True ,
36
+ help = "Project ID" ,
28
37
),
29
38
click .option (
30
39
"--tuningCommand" ,
31
40
"tuningCommand" ,
32
41
required = True ,
42
+ help = "Tuning command" ,
33
43
),
34
44
click .option (
35
45
"--workerContainer" ,
36
46
"workerContainer" ,
37
47
required = True ,
48
+ help = "Worker Docker image" ,
38
49
),
39
50
click .option (
40
51
"--workerMachineType" ,
41
52
"workerMachineType" ,
42
53
required = True ,
54
+ help = "Worker machine type" ,
43
55
),
44
56
click .option (
45
57
"--workerCommand" ,
46
58
"workerCommand" ,
47
59
required = True ,
60
+ help = "Worker command" ,
48
61
),
49
62
click .option (
50
63
"--workerCount" ,
51
64
"workerCount" ,
52
65
required = True ,
53
66
type = int ,
67
+ help = "Worker count" ,
68
+ ),
69
+ click .option (
70
+ "--isPreemptible" ,
71
+ "isPreemptible" ,
72
+ type = bool ,
73
+ is_flag = True ,
74
+ help = "Flag: isPreemptible" ,
75
+ ),
76
+ click .option (
77
+ "--ports" ,
78
+ "ports" ,
79
+ help = "Port to use in new job" ,
80
+ ),
81
+ click .option (
82
+ "--workspaceUrl" ,
83
+ "workspaceUrl" ,
84
+ help = "Project git repository url" ,
85
+ ),
86
+ click .option (
87
+ "--artifactDirectory" ,
88
+ "artifactDirectory" ,
89
+ help = "Artifacts directory" ,
90
+ ),
91
+ click .option (
92
+ "--clusterId" ,
93
+ "clusterId" ,
94
+ type = int ,
95
+ help = "Cluster ID" ,
96
+ ),
97
+ click .option (
98
+ "--experimentEnv" ,
99
+ "experimentEnv" ,
100
+ type = cli_types .json_string ,
101
+ help = "Environment variables in a JSON" ,
102
+ ),
103
+ click .option (
104
+ "--triggerEventId" ,
105
+ "triggerEventId" ,
106
+ type = int ,
107
+ help = "Trigger event ID" ,
108
+ ),
109
+ click .option (
110
+ "--modelType" ,
111
+ "modelType" ,
112
+ help = "Model type" ,
113
+ ),
114
+ click .option (
115
+ "--modelPath" ,
116
+ "modelPath" ,
117
+ help = "Model path" ,
118
+ ),
119
+ click .option (
120
+ "--dockerfilePath" ,
121
+ "dockerfilePath" ,
122
+ callback = add_use_docker_file_flag_if_used ,
123
+ help = "Path to Dockerfile" ,
54
124
),
55
125
click .option (
56
126
"--serverRegistryUsername" ,
57
127
"hyperparameterServerRegistryUsername" ,
128
+ help = "Hyperparameter server registry username" ,
58
129
),
59
130
click .option (
60
131
"--serverRegistryPassword" ,
61
132
"hyperparameterServerRegistryPassword" ,
133
+ help = "Hyperparameter server registry password" ,
62
134
),
63
135
click .option (
64
136
"--serverContainerUser" ,
65
137
"hyperparameterServerContainerUser" ,
138
+ help = "Hyperparameter server container user" ,
66
139
),
67
140
]
68
141
return functools .reduce (lambda x , opt : opt (x ), reversed (options ), f )
0 commit comments