Skip to content

Commit

Permalink
Initial Kaggle upload.
Browse files Browse the repository at this point in the history
  • Loading branch information
SamanehSaadat committed Mar 13, 2024
1 parent a59a26f commit d9eada8
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 0 deletions.
1 change: 1 addition & 0 deletions keras_nlp/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,6 @@
from keras_nlp import samplers
from keras_nlp import tokenizers
from keras_nlp import utils
from keras_nlp.utils import upload_preset
from keras_nlp.version_utils import __version__
from keras_nlp.version_utils import version
7 changes: 7 additions & 0 deletions keras_nlp/models/backbone.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from keras_nlp.backend import keras
from keras_nlp.utils.preset_utils import check_preset_class
from keras_nlp.utils.preset_utils import load_from_preset
from keras_nlp.utils.preset_utils import save_to_preset
from keras_nlp.utils.python_utils import classproperty
from keras_nlp.utils.python_utils import format_docstring

Expand Down Expand Up @@ -141,6 +142,12 @@ def from_preset(
config_overrides=kwargs,
)

def save_to_preset(
self,
preset,
):
save_to_preset(self, preset)

def __init_subclass__(cls, **kwargs):
# Use __init_subclass__ to setup a correct docstring for from_preset.
super().__init_subclass__(**kwargs)
Expand Down
8 changes: 8 additions & 0 deletions keras_nlp/models/preprocessor.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
)
from keras_nlp.utils.preset_utils import check_preset_class
from keras_nlp.utils.preset_utils import load_from_preset
from keras_nlp.utils.preset_utils import save_to_preset
from keras_nlp.utils.python_utils import classproperty
from keras_nlp.utils.python_utils import format_docstring

Expand Down Expand Up @@ -96,6 +97,13 @@ def from_preset(
)
return cls(tokenizer=tokenizer, **kwargs)

def save_to_preset(
self,
preset,
config_filename="tokenizer.json",
):
save_to_preset(self, preset, config_filename=config_filename)

def __init_subclass__(cls, **kwargs):
# Use __init_subclass__ to setup a correct docstring for from_preset.
super().__init_subclass__(**kwargs)
Expand Down
7 changes: 7 additions & 0 deletions keras_nlp/models/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
from keras_nlp.utils.pipeline_model import PipelineModel
from keras_nlp.utils.preset_utils import check_preset_class
from keras_nlp.utils.preset_utils import load_from_preset
from keras_nlp.utils.preset_utils import save_to_preset
from keras_nlp.utils.python_utils import classproperty
from keras_nlp.utils.python_utils import format_docstring

Expand Down Expand Up @@ -253,6 +254,12 @@ def from_preset(
config_overrides=kwargs,
)

def save_to_preset(
self,
preset,
):
save_to_preset(self, preset)

def __init_subclass__(cls, **kwargs):
# Use __init_subclass__ to setup a correct docstring for from_preset.
super().__init_subclass__(**kwargs)
Expand Down
8 changes: 8 additions & 0 deletions keras_nlp/tokenizers/tokenizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from keras_nlp.layers.preprocessing.preprocessing_layer import (
PreprocessingLayer,
)
from keras_nlp.utils.preset_utils import save_to_preset


@keras_nlp_export("keras_nlp.tokenizers.Tokenizer")
Expand Down Expand Up @@ -121,5 +122,12 @@ def token_to_id(self, token: str) -> int:
f"{self.__class__.__name__}."
)

def save_to_preset(
self,
preset,
config_filename="tokenizer.json",
):
save_to_preset(self, preset, config_filename=config_filename)

def call(self, inputs, *args, training=None, **kwargs):
return self.tokenize(inputs, *args, **kwargs)
1 change: 1 addition & 0 deletions keras_nlp/utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from keras_nlp.utils.preset_utils import upload_preset
14 changes: 14 additions & 0 deletions keras_nlp/utils/preset_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,20 @@ def save_to_preset(
metadata_file.write(json.dumps(metadata, indent=4))


def upload_preset(
preset,
uri,
):
if uri.startswith(KAGGLE_PREFIX):
kaggle_handle = uri.removeprefix(KAGGLE_PREFIX)
kagglehub.model_upload(kaggle_handle, preset)
else:
raise ValueError(
f"Unexpected URI `'{uri}'`. "
f"URI prefix should be one of `'{','.join([KAGGLE_PREFIX])}'`."
)


def load_from_preset(
preset,
load_weights=True,
Expand Down

0 comments on commit d9eada8

Please sign in to comment.