21
21
from ads .model .datascience_model import DataScienceModel
22
22
from ads .model .model_metadata import ModelCustomMetadata
23
23
24
- class FineTuningTestCase (TestCase ):
25
24
25
+ class FineTuningTestCase (TestCase ):
26
26
SERVICE_COMPARTMENT_ID = "ocid1.compartment.oc1..<OCID>"
27
27
28
28
def setUp (self ):
@@ -61,20 +61,20 @@ def test_create_fine_tuning(
61
61
mock_job_create ,
62
62
mock_job_id ,
63
63
mock_job_name ,
64
- mock_job_run
64
+ mock_job_run ,
65
65
):
66
66
custom_metadata_list = ModelCustomMetadata ()
67
67
custom_metadata_list .add (
68
68
key = FineTuneCustomMetadata .SERVICE_MODEL_ARTIFACT_LOCATION .value ,
69
- value = "test_service_model_artifact_location"
69
+ value = "test_service_model_artifact_location" ,
70
70
)
71
71
custom_metadata_list .add (
72
72
key = FineTuneCustomMetadata .SERVICE_MODEL_DEPLOYMENT_CONTAINER .value ,
73
- value = "test_service_model_deployment_container"
73
+ value = "test_service_model_deployment_container" ,
74
74
)
75
75
custom_metadata_list .add (
76
76
key = FineTuneCustomMetadata .SERVICE_MODEL_FINE_TUNE_CONTAINER .value ,
77
- value = "test_service_model_fine_tune_container"
77
+ value = "test_service_model_fine_tune_container" ,
78
78
)
79
79
80
80
ft_source = MagicMock ()
@@ -84,10 +84,7 @@ def test_create_fine_tuning(
84
84
ft_source .custom_metadata_list = custom_metadata_list
85
85
mock_get_source .return_value = ft_source
86
86
87
- mock_mvs_create .return_value = (
88
- "test_experiment_id" ,
89
- "test_experiment_name"
90
- )
87
+ mock_mvs_create .return_value = ("test_experiment_id" , "test_experiment_name" )
91
88
92
89
ft_model = MagicMock ()
93
90
ft_model .id = "test_ft_model_id"
@@ -97,10 +94,7 @@ def test_create_fine_tuning(
97
94
98
95
mock_get_finetuning_config .return_value = {
99
96
"shape" : {
100
- "VM.GPU.A10.1" : {
101
- "batch_size" : 1 ,
102
- "replica" : 1
103
- },
97
+ "VM.GPU.A10.1" : {"batch_size" : 1 , "replica" : 1 },
104
98
}
105
99
}
106
100
mock_get_container_image .return_value = "test_container_image"
@@ -122,53 +116,49 @@ def test_create_fine_tuning(
122
116
ft_name = "test_ft_name" ,
123
117
dataset_path = "oci://ds_bucket@namespace/prefix/dataset.jsonl" ,
124
118
report_path = "oci://report_bucket@namespace/prefix/" ,
125
- ft_parameters = {
126
- "epochs" :1 ,
127
- "learning_rate" :0.02
128
- },
119
+ ft_parameters = {"epochs" : 1 , "learning_rate" : 0.02 },
129
120
shape_name = "VM.GPU.A10.1" ,
130
121
replica = 1 ,
131
122
validation_set_size = 0.2 ,
132
123
block_storage_size = 1 ,
133
124
experiment_name = "test_experiment_name" ,
134
125
)
135
126
136
- aqua_ft_summary = self .app .create (
137
- ** create_aqua_ft_details
138
- )
127
+ aqua_ft_summary = self .app .create (** create_aqua_ft_details )
139
128
140
129
assert asdict (aqua_ft_summary ) == {
141
- ' console_url' : f' https://cloud.oracle.com/data-science/models/{ ft_model .id } ?region={ self .app .region } ' ,
142
- ' experiment' : {
143
- 'id' : f' { mock_mvs_create .return_value [0 ]} ' ,
144
- ' name' : f' { mock_mvs_create .return_value [1 ]} ' ,
145
- ' url' : f' https://cloud.oracle.com/data-science/model-version-sets/{ mock_mvs_create .return_value [0 ]} ?region={ self .app .region } '
130
+ " console_url" : f" https://cloud.oracle.com/data-science/models/{ ft_model .id } ?region={ self .app .region } " ,
131
+ " experiment" : {
132
+ "id" : f" { mock_mvs_create .return_value [0 ]} " ,
133
+ " name" : f" { mock_mvs_create .return_value [1 ]} " ,
134
+ " url" : f" https://cloud.oracle.com/data-science/model-version-sets/{ mock_mvs_create .return_value [0 ]} ?region={ self .app .region } " ,
146
135
},
147
- 'id' : f' { ft_model .id } ' ,
148
- ' job' : {
149
- 'id' : f' { mock_job_id .return_value } ' ,
150
- ' name' : f' { mock_job_name .return_value } ' ,
151
- ' url' : f' https://cloud.oracle.com/data-science/jobs/{ mock_job_id .return_value } ?region={ self .app .region } '
136
+ "id" : f" { ft_model .id } " ,
137
+ " job" : {
138
+ "id" : f" { mock_job_id .return_value } " ,
139
+ " name" : f" { mock_job_name .return_value } " ,
140
+ " url" : f" https://cloud.oracle.com/data-science/jobs/{ mock_job_id .return_value } ?region={ self .app .region } " ,
152
141
},
153
- 'lifecycle_details' : f'{ ft_job_run .lifecycle_details } ' ,
154
- 'lifecycle_state' : f'{ ft_job_run .lifecycle_state } ' ,
155
- 'name' : f'{ ft_model .display_name } ' ,
156
- 'parameters' : {
157
- 'epochs' : 1 ,
158
- 'learning_rate' : 0.02
142
+ "lifecycle_details" : f"{ ft_job_run .lifecycle_details } " ,
143
+ "lifecycle_state" : f"{ ft_job_run .lifecycle_state } " ,
144
+ "name" : f"{ ft_model .display_name } " ,
145
+ "parameters" : {
146
+ "epochs" : 1 ,
147
+ "learning_rate" : 0.02 ,
148
+ "sample_packing" : "True" ,
159
149
},
160
- ' source' : {
161
- 'id' : f' { ft_source .id } ' ,
162
- ' name' : f' { ft_source .display_name } ' ,
163
- ' url' : f' https://cloud.oracle.com/data-science/models/{ ft_source .id } ?region={ self .app .region } '
150
+ " source" : {
151
+ "id" : f" { ft_source .id } " ,
152
+ " name" : f" { ft_source .display_name } " ,
153
+ " url" : f" https://cloud.oracle.com/data-science/models/{ ft_source .id } ?region={ self .app .region } " ,
164
154
},
165
- ' tags' : {
166
- ' aqua_finetuning' : ' aqua_finetuning' ,
167
- ' finetuning_experiment_id' : f' { mock_mvs_create .return_value [0 ]} ' ,
168
- ' finetuning_job_id' : f' { mock_job_id .return_value } ' ,
169
- ' finetuning_source' : f' { ft_source .id } '
155
+ " tags" : {
156
+ " aqua_finetuning" : " aqua_finetuning" ,
157
+ " finetuning_experiment_id" : f" { mock_mvs_create .return_value [0 ]} " ,
158
+ " finetuning_job_id" : f" { mock_job_id .return_value } " ,
159
+ " finetuning_source" : f" { ft_source .id } " ,
170
160
},
171
- ' time_created' : f' { ft_model .time_created } '
161
+ " time_created" : f" { ft_model .time_created } " ,
172
162
}
173
163
174
164
def test_exit_code_message (self ):
0 commit comments