12
12
# See the License for the specific language governing permissions and
13
13
# limitations under the License.
14
14
15
- """Firebase ML Kit module.
15
+ """Firebase ML module.
16
16
17
17
This module contains functions for creating, updating, getting, listing,
18
- deleting, publishing and unpublishing Firebase ML Kit models.
18
+ deleting, publishing and unpublishing Firebase ML models.
19
19
"""
20
20
21
21
46
46
except ImportError :
47
47
_TF_ENABLED = False
48
48
49
- _MLKIT_ATTRIBUTE = '_mlkit '
49
+ _ML_ATTRIBUTE = '_ml '
50
50
_MAX_PAGE_SIZE = 100
51
51
_MODEL_ID_PATTERN = re .compile (r'^[A-Za-z0-9_-]{1,60}$' )
52
52
_DISPLAY_NAME_PATTERN = re .compile (r'^[A-Za-z0-9_-]{1,60}$' )
60
60
r'/operation/[^/]+$' )
61
61
62
62
63
- def _get_mlkit_service (app ):
64
- """ Returns an _MLKitService instance for an App.
63
+ def _get_ml_service (app ):
64
+ """ Returns an _MLService instance for an App.
65
65
66
66
Args:
67
67
app: A Firebase App instance (or None to use the default App).
68
68
69
69
Returns:
70
- _MLKitService : An _MLKitService for the specified App instance.
70
+ _MLService : An _MLService for the specified App instance.
71
71
72
72
Raises:
73
73
ValueError: If the app argument is invalid.
74
74
"""
75
- return _utils .get_app_service (app , _MLKIT_ATTRIBUTE , _MLKitService )
75
+ return _utils .get_app_service (app , _ML_ATTRIBUTE , _MLService )
76
76
77
77
78
78
def create_model (model , app = None ):
79
- """Creates a model in Firebase ML Kit .
79
+ """Creates a model in Firebase ML.
80
80
81
81
Args:
82
- model: An mlkit .Model to create.
82
+ model: An ml .Model to create.
83
83
app: A Firebase app instance (or None to use the default app).
84
84
85
85
Returns:
86
- Model: The model that was created in Firebase ML Kit .
86
+ Model: The model that was created in Firebase ML.
87
87
"""
88
- mlkit_service = _get_mlkit_service (app )
89
- return Model .from_dict (mlkit_service .create_model (model ), app = app )
88
+ ml_service = _get_ml_service (app )
89
+ return Model .from_dict (ml_service .create_model (model ), app = app )
90
90
91
91
92
92
def update_model (model , app = None ):
93
- """Updates a model in Firebase ML Kit .
93
+ """Updates a model in Firebase ML.
94
94
95
95
Args:
96
- model: The mlkit .Model to update.
96
+ model: The ml .Model to update.
97
97
app: A Firebase app instance (or None to use the default app).
98
98
99
99
Returns:
100
100
Model: The updated model.
101
101
"""
102
- mlkit_service = _get_mlkit_service (app )
103
- return Model .from_dict (mlkit_service .update_model (model ), app = app )
102
+ ml_service = _get_ml_service (app )
103
+ return Model .from_dict (ml_service .update_model (model ), app = app )
104
104
105
105
106
106
def publish_model (model_id , app = None ):
107
- """Publishes a model in Firebase ML Kit .
107
+ """Publishes a model in Firebase ML.
108
108
109
109
Args:
110
110
model_id: The id of the model to publish.
@@ -113,12 +113,12 @@ def publish_model(model_id, app=None):
113
113
Returns:
114
114
Model: The published model.
115
115
"""
116
- mlkit_service = _get_mlkit_service (app )
117
- return Model .from_dict (mlkit_service .set_published (model_id , publish = True ), app = app )
116
+ ml_service = _get_ml_service (app )
117
+ return Model .from_dict (ml_service .set_published (model_id , publish = True ), app = app )
118
118
119
119
120
120
def unpublish_model (model_id , app = None ):
121
- """Unpublishes a model in Firebase ML Kit .
121
+ """Unpublishes a model in Firebase ML.
122
122
123
123
Args:
124
124
model_id: The id of the model to unpublish.
@@ -127,12 +127,12 @@ def unpublish_model(model_id, app=None):
127
127
Returns:
128
128
Model: The unpublished model.
129
129
"""
130
- mlkit_service = _get_mlkit_service (app )
131
- return Model .from_dict (mlkit_service .set_published (model_id , publish = False ), app = app )
130
+ ml_service = _get_ml_service (app )
131
+ return Model .from_dict (ml_service .set_published (model_id , publish = False ), app = app )
132
132
133
133
134
134
def get_model (model_id , app = None ):
135
- """Gets a model from Firebase ML Kit .
135
+ """Gets a model from Firebase ML.
136
136
137
137
Args:
138
138
model_id: The id of the model to get.
@@ -141,12 +141,12 @@ def get_model(model_id, app=None):
141
141
Returns:
142
142
Model: The requested model.
143
143
"""
144
- mlkit_service = _get_mlkit_service (app )
145
- return Model .from_dict (mlkit_service .get_model (model_id ), app = app )
144
+ ml_service = _get_ml_service (app )
145
+ return Model .from_dict (ml_service .get_model (model_id ), app = app )
146
146
147
147
148
148
def list_models (list_filter = None , page_size = None , page_token = None , app = None ):
149
- """Lists models from Firebase ML Kit .
149
+ """Lists models from Firebase ML.
150
150
151
151
Args:
152
152
list_filter: a list filter string such as "tags:'tag_1'". None will return all models.
@@ -159,24 +159,24 @@ def list_models(list_filter=None, page_size=None, page_token=None, app=None):
159
159
Returns:
160
160
ListModelsPage: A (filtered) list of models.
161
161
"""
162
- mlkit_service = _get_mlkit_service (app )
162
+ ml_service = _get_ml_service (app )
163
163
return ListModelsPage (
164
- mlkit_service .list_models , list_filter , page_size , page_token , app = app )
164
+ ml_service .list_models , list_filter , page_size , page_token , app = app )
165
165
166
166
167
167
def delete_model (model_id , app = None ):
168
- """Deletes a model from Firebase ML Kit .
168
+ """Deletes a model from Firebase ML.
169
169
170
170
Args:
171
171
model_id: The id of the model you wish to delete.
172
172
app: A Firebase app instance (or None to use the default app).
173
173
"""
174
- mlkit_service = _get_mlkit_service (app )
175
- mlkit_service .delete_model (model_id )
174
+ ml_service = _get_ml_service (app )
175
+ ml_service .delete_model (model_id )
176
176
177
177
178
178
class Model (object ):
179
- """A Firebase ML Kit Model object.
179
+ """A Firebase ML Model object.
180
180
181
181
Args:
182
182
display_name: The display name of your model - used to identify your model in code.
@@ -310,10 +310,10 @@ def wait_for_unlocked(self, max_time_seconds=None):
310
310
"""
311
311
if not self .locked :
312
312
return
313
- mlkit_service = _get_mlkit_service (self ._app )
313
+ ml_service = _get_ml_service (self ._app )
314
314
op_name = self ._data .get ('activeOperations' )[0 ].get ('name' )
315
- model_dict = mlkit_service .handle_operation (
316
- mlkit_service .get_operation (op_name ),
315
+ model_dict = ml_service .handle_operation (
316
+ ml_service .get_operation (op_name ),
317
317
wait_for_operation = True ,
318
318
max_time_seconds = max_time_seconds )
319
319
self ._update_from_dict (model_dict )
@@ -418,7 +418,7 @@ class _CloudStorageClient(object):
418
418
"""Cloud Storage helper class"""
419
419
420
420
GCS_URI = 'gs://{0}/{1}'
421
- BLOB_NAME = 'Firebase/MLKit /Models/{0}'
421
+ BLOB_NAME = 'Firebase/ML /Models/{0}'
422
422
423
423
@staticmethod
424
424
def _assert_gcs_enabled ():
@@ -541,9 +541,9 @@ def from_saved_model(cls, saved_model_dir, bucket_name=None, app=None):
541
541
"""
542
542
TFLiteGCSModelSource ._assert_tf_enabled ()
543
543
tflite_model = TFLiteGCSModelSource ._tf_convert_from_saved_model (saved_model_dir )
544
- open ('firebase_mlkit_model .tflite' , 'wb' ).write (tflite_model )
544
+ open ('firebase_ml_model .tflite' , 'wb' ).write (tflite_model )
545
545
return TFLiteGCSModelSource .from_tflite_model_file (
546
- 'firebase_mlkit_model .tflite' , bucket_name , app )
546
+ 'firebase_ml_model .tflite' , bucket_name , app )
547
547
548
548
@classmethod
549
549
def from_keras_model (cls , keras_model , bucket_name = None , app = None ):
@@ -563,9 +563,9 @@ def from_keras_model(cls, keras_model, bucket_name=None, app=None):
563
563
"""
564
564
TFLiteGCSModelSource ._assert_tf_enabled ()
565
565
tflite_model = TFLiteGCSModelSource ._tf_convert_from_keras_model (keras_model )
566
- open ('firebase_mlkit_model .tflite' , 'wb' ).write (tflite_model )
566
+ open ('firebase_ml_model .tflite' , 'wb' ).write (tflite_model )
567
567
return TFLiteGCSModelSource .from_tflite_model_file (
568
- 'firebase_mlkit_model .tflite' , bucket_name , app )
568
+ 'firebase_ml_model .tflite' , bucket_name , app )
569
569
570
570
@property
571
571
def gcs_tflite_uri (self ):
@@ -577,7 +577,7 @@ def gcs_tflite_uri(self, gcs_tflite_uri):
577
577
self ._gcs_tflite_uri = _validate_gcs_tflite_uri (gcs_tflite_uri )
578
578
579
579
def _get_signed_gcs_tflite_uri (self ):
580
- """Signs the GCS uri, so the model file can be uploaded to Firebase ML Kit and verified."""
580
+ """Signs the GCS uri, so the model file can be uploaded to Firebase ML and verified."""
581
581
return TFLiteGCSModelSource ._STORAGE_CLIENT .sign_uri (self ._gcs_tflite_uri , self ._app )
582
582
583
583
def as_dict (self , for_upload = False ):
@@ -697,7 +697,7 @@ def _validate_and_parse_name(name):
697
697
698
698
def _validate_model (model , update_mask = None ):
699
699
if not isinstance (model , Model ):
700
- raise TypeError ('Model must be an mlkit .Model.' )
700
+ raise TypeError ('Model must be an ml .Model.' )
701
701
if update_mask is None and not model .display_name :
702
702
raise ValueError ('Model must have a display name.' )
703
703
@@ -765,8 +765,8 @@ def _validate_page_token(page_token):
765
765
raise TypeError ('Page token must be a string or None.' )
766
766
767
767
768
- class _MLKitService (object ):
769
- """Firebase MLKit service."""
768
+ class _MLService (object ):
769
+ """Firebase ML service."""
770
770
771
771
PROJECT_URL = 'https://mlkit.googleapis.com/v1beta1/projects/{0}/'
772
772
OPERATION_URL = 'https://mlkit.googleapis.com/v1beta1/'
@@ -777,15 +777,15 @@ def __init__(self, app):
777
777
self ._project_id = app .project_id
778
778
if not self ._project_id :
779
779
raise ValueError (
780
- 'Project ID is required to access MLKit service. Either set the '
780
+ 'Project ID is required to access ML service. Either set the '
781
781
'projectId option, or use service account credentials.' )
782
- self ._project_url = _MLKitService .PROJECT_URL .format (self ._project_id )
782
+ self ._project_url = _MLService .PROJECT_URL .format (self ._project_id )
783
783
self ._client = _http_client .JsonHttpClient (
784
784
credential = app .credential .get_credential (),
785
785
base_url = self ._project_url )
786
786
self ._operation_client = _http_client .JsonHttpClient (
787
787
credential = app .credential .get_credential (),
788
- base_url = _MLKitService .OPERATION_URL )
788
+ base_url = _MLService .OPERATION_URL )
789
789
790
790
def get_operation (self , op_name ):
791
791
_validate_and_parse_operation_name (op_name )
@@ -796,8 +796,8 @@ def get_operation(self, op_name):
796
796
797
797
def _exponential_backoff (self , current_attempt , stop_time ):
798
798
"""Sleeps for the appropriate amount of time. Or throws deadline exceeded."""
799
- delay_factor = pow (_MLKitService .POLL_EXPONENTIAL_BACKOFF_FACTOR , current_attempt )
800
- wait_time_seconds = delay_factor * _MLKitService .POLL_BASE_WAIT_TIME_SECONDS
799
+ delay_factor = pow (_MLService .POLL_EXPONENTIAL_BACKOFF_FACTOR , current_attempt )
800
+ wait_time_seconds = delay_factor * _MLService .POLL_BASE_WAIT_TIME_SECONDS
801
801
802
802
if stop_time is not None :
803
803
max_seconds_left = (stop_time - datetime .datetime .now ()).total_seconds ()
@@ -897,7 +897,7 @@ def get_model(self, model_id):
897
897
raise _utils .handle_platform_error_from_requests (error )
898
898
899
899
def list_models (self , list_filter , page_size , page_token ):
900
- """ lists Firebase ML Kit models."""
900
+ """ lists Firebase ML models."""
901
901
_validate_list_filter (list_filter )
902
902
_validate_page_size (page_size )
903
903
_validate_page_token (page_token )
0 commit comments