keras-hub-nightly 0.16.1.dev202409250340__py3-none-any.whl → 0.16.1.dev202409270338__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- keras_hub/__init__.py +0 -13
- keras_hub/api/__init__.py +0 -13
- keras_hub/api/bounding_box/__init__.py +0 -13
- keras_hub/api/layers/__init__.py +3 -13
- keras_hub/api/metrics/__init__.py +0 -13
- keras_hub/api/models/__init__.py +16 -13
- keras_hub/api/samplers/__init__.py +0 -13
- keras_hub/api/tokenizers/__init__.py +1 -13
- keras_hub/api/utils/__init__.py +0 -13
- keras_hub/src/__init__.py +0 -13
- keras_hub/src/api_export.py +0 -14
- keras_hub/src/bounding_box/__init__.py +0 -13
- keras_hub/src/bounding_box/converters.py +0 -13
- keras_hub/src/bounding_box/formats.py +0 -13
- keras_hub/src/bounding_box/iou.py +1 -13
- keras_hub/src/bounding_box/to_dense.py +0 -14
- keras_hub/src/bounding_box/to_ragged.py +0 -13
- keras_hub/src/bounding_box/utils.py +0 -13
- keras_hub/src/bounding_box/validate_format.py +0 -14
- keras_hub/src/layers/__init__.py +0 -13
- keras_hub/src/layers/modeling/__init__.py +0 -13
- keras_hub/src/layers/modeling/alibi_bias.py +0 -13
- keras_hub/src/layers/modeling/cached_multi_head_attention.py +0 -14
- keras_hub/src/layers/modeling/f_net_encoder.py +0 -14
- keras_hub/src/layers/modeling/masked_lm_head.py +0 -14
- keras_hub/src/layers/modeling/position_embedding.py +0 -14
- keras_hub/src/layers/modeling/reversible_embedding.py +0 -14
- keras_hub/src/layers/modeling/rotary_embedding.py +0 -14
- keras_hub/src/layers/modeling/sine_position_encoding.py +0 -14
- keras_hub/src/layers/modeling/token_and_position_embedding.py +0 -14
- keras_hub/src/layers/modeling/transformer_decoder.py +0 -14
- keras_hub/src/layers/modeling/transformer_encoder.py +0 -14
- keras_hub/src/layers/modeling/transformer_layer_utils.py +0 -14
- keras_hub/src/layers/preprocessing/__init__.py +0 -13
- keras_hub/src/layers/preprocessing/audio_converter.py +0 -13
- keras_hub/src/layers/preprocessing/image_converter.py +0 -13
- keras_hub/src/layers/preprocessing/masked_lm_mask_generator.py +0 -15
- keras_hub/src/layers/preprocessing/multi_segment_packer.py +0 -14
- keras_hub/src/layers/preprocessing/preprocessing_layer.py +0 -14
- keras_hub/src/layers/preprocessing/random_deletion.py +0 -14
- keras_hub/src/layers/preprocessing/random_swap.py +0 -14
- keras_hub/src/layers/preprocessing/resizing_image_converter.py +0 -13
- keras_hub/src/layers/preprocessing/start_end_packer.py +0 -15
- keras_hub/src/metrics/__init__.py +0 -13
- keras_hub/src/metrics/bleu.py +0 -14
- keras_hub/src/metrics/edit_distance.py +0 -14
- keras_hub/src/metrics/perplexity.py +0 -14
- keras_hub/src/metrics/rouge_base.py +0 -14
- keras_hub/src/metrics/rouge_l.py +0 -14
- keras_hub/src/metrics/rouge_n.py +0 -14
- keras_hub/src/models/__init__.py +0 -13
- keras_hub/src/models/albert/__init__.py +0 -14
- keras_hub/src/models/albert/albert_backbone.py +0 -14
- keras_hub/src/models/albert/albert_masked_lm.py +0 -14
- keras_hub/src/models/albert/albert_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/albert/albert_presets.py +0 -14
- keras_hub/src/models/albert/albert_text_classifier.py +0 -14
- keras_hub/src/models/albert/albert_text_classifier_preprocessor.py +0 -14
- keras_hub/src/models/albert/albert_tokenizer.py +0 -14
- keras_hub/src/models/backbone.py +0 -14
- keras_hub/src/models/bart/__init__.py +0 -14
- keras_hub/src/models/bart/bart_backbone.py +0 -14
- keras_hub/src/models/bart/bart_presets.py +0 -13
- keras_hub/src/models/bart/bart_seq_2_seq_lm.py +0 -15
- keras_hub/src/models/bart/bart_seq_2_seq_lm_preprocessor.py +0 -15
- keras_hub/src/models/bart/bart_tokenizer.py +0 -15
- keras_hub/src/models/bert/__init__.py +0 -14
- keras_hub/src/models/bert/bert_backbone.py +0 -14
- keras_hub/src/models/bert/bert_masked_lm.py +0 -14
- keras_hub/src/models/bert/bert_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/bert/bert_presets.py +0 -13
- keras_hub/src/models/bert/bert_text_classifier.py +0 -14
- keras_hub/src/models/bert/bert_text_classifier_preprocessor.py +0 -14
- keras_hub/src/models/bert/bert_tokenizer.py +0 -14
- keras_hub/src/models/bloom/__init__.py +0 -14
- keras_hub/src/models/bloom/bloom_attention.py +0 -13
- keras_hub/src/models/bloom/bloom_backbone.py +0 -14
- keras_hub/src/models/bloom/bloom_causal_lm.py +0 -15
- keras_hub/src/models/bloom/bloom_causal_lm_preprocessor.py +0 -15
- keras_hub/src/models/bloom/bloom_decoder.py +0 -13
- keras_hub/src/models/bloom/bloom_presets.py +0 -13
- keras_hub/src/models/bloom/bloom_tokenizer.py +0 -15
- keras_hub/src/models/causal_lm.py +0 -14
- keras_hub/src/models/causal_lm_preprocessor.py +0 -13
- keras_hub/src/models/clip/__init__.py +0 -0
- keras_hub/src/models/{stable_diffusion_v3 → clip}/clip_encoder_block.py +8 -15
- keras_hub/src/models/clip/clip_preprocessor.py +134 -0
- keras_hub/src/models/clip/clip_text_encoder.py +139 -0
- keras_hub/src/models/{stable_diffusion_v3 → clip}/clip_tokenizer.py +65 -41
- keras_hub/src/models/csp_darknet/__init__.py +0 -13
- keras_hub/src/models/csp_darknet/csp_darknet_backbone.py +0 -13
- keras_hub/src/models/csp_darknet/csp_darknet_image_classifier.py +0 -13
- keras_hub/src/models/deberta_v3/__init__.py +0 -14
- keras_hub/src/models/deberta_v3/deberta_v3_backbone.py +0 -15
- keras_hub/src/models/deberta_v3/deberta_v3_masked_lm.py +0 -15
- keras_hub/src/models/deberta_v3/deberta_v3_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/deberta_v3/deberta_v3_presets.py +0 -13
- keras_hub/src/models/deberta_v3/deberta_v3_text_classifier.py +0 -15
- keras_hub/src/models/deberta_v3/deberta_v3_text_classifier_preprocessor.py +0 -14
- keras_hub/src/models/deberta_v3/deberta_v3_tokenizer.py +0 -15
- keras_hub/src/models/deberta_v3/disentangled_attention_encoder.py +0 -14
- keras_hub/src/models/deberta_v3/disentangled_self_attention.py +0 -14
- keras_hub/src/models/deberta_v3/relative_embedding.py +0 -14
- keras_hub/src/models/densenet/__init__.py +5 -13
- keras_hub/src/models/densenet/densenet_backbone.py +11 -21
- keras_hub/src/models/densenet/densenet_image_classifier.py +27 -17
- keras_hub/src/models/densenet/densenet_image_classifier_preprocessor.py +27 -0
- keras_hub/src/models/{stable_diffusion_v3/__init__.py → densenet/densenet_image_converter.py} +10 -0
- keras_hub/src/models/densenet/densenet_presets.py +56 -0
- keras_hub/src/models/distil_bert/__init__.py +0 -14
- keras_hub/src/models/distil_bert/distil_bert_backbone.py +0 -15
- keras_hub/src/models/distil_bert/distil_bert_masked_lm.py +0 -15
- keras_hub/src/models/distil_bert/distil_bert_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/distil_bert/distil_bert_presets.py +0 -13
- keras_hub/src/models/distil_bert/distil_bert_text_classifier.py +0 -15
- keras_hub/src/models/distil_bert/distil_bert_text_classifier_preprocessor.py +0 -15
- keras_hub/src/models/distil_bert/distil_bert_tokenizer.py +0 -15
- keras_hub/src/models/efficientnet/__init__.py +0 -13
- keras_hub/src/models/efficientnet/efficientnet_backbone.py +0 -13
- keras_hub/src/models/efficientnet/fusedmbconv.py +0 -14
- keras_hub/src/models/efficientnet/mbconv.py +0 -14
- keras_hub/src/models/electra/__init__.py +0 -14
- keras_hub/src/models/electra/electra_backbone.py +0 -14
- keras_hub/src/models/electra/electra_presets.py +0 -13
- keras_hub/src/models/electra/electra_tokenizer.py +0 -14
- keras_hub/src/models/f_net/__init__.py +0 -14
- keras_hub/src/models/f_net/f_net_backbone.py +0 -15
- keras_hub/src/models/f_net/f_net_masked_lm.py +0 -15
- keras_hub/src/models/f_net/f_net_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/f_net/f_net_presets.py +0 -13
- keras_hub/src/models/f_net/f_net_text_classifier.py +0 -15
- keras_hub/src/models/f_net/f_net_text_classifier_preprocessor.py +0 -15
- keras_hub/src/models/f_net/f_net_tokenizer.py +0 -15
- keras_hub/src/models/falcon/__init__.py +0 -14
- keras_hub/src/models/falcon/falcon_attention.py +0 -13
- keras_hub/src/models/falcon/falcon_backbone.py +0 -13
- keras_hub/src/models/falcon/falcon_causal_lm.py +0 -14
- keras_hub/src/models/falcon/falcon_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/falcon/falcon_presets.py +0 -13
- keras_hub/src/models/falcon/falcon_tokenizer.py +0 -15
- keras_hub/src/models/falcon/falcon_transformer_decoder.py +0 -13
- keras_hub/src/models/feature_pyramid_backbone.py +0 -13
- keras_hub/src/models/gemma/__init__.py +0 -14
- keras_hub/src/models/gemma/gemma_attention.py +0 -13
- keras_hub/src/models/gemma/gemma_backbone.py +0 -15
- keras_hub/src/models/gemma/gemma_causal_lm.py +0 -15
- keras_hub/src/models/gemma/gemma_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/gemma/gemma_decoder_block.py +0 -13
- keras_hub/src/models/gemma/gemma_presets.py +0 -13
- keras_hub/src/models/gemma/gemma_tokenizer.py +0 -14
- keras_hub/src/models/gemma/rms_normalization.py +0 -14
- keras_hub/src/models/gpt2/__init__.py +0 -14
- keras_hub/src/models/gpt2/gpt2_backbone.py +0 -15
- keras_hub/src/models/gpt2/gpt2_causal_lm.py +0 -15
- keras_hub/src/models/gpt2/gpt2_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/gpt2/gpt2_preprocessor.py +0 -15
- keras_hub/src/models/gpt2/gpt2_presets.py +0 -13
- keras_hub/src/models/gpt2/gpt2_tokenizer.py +0 -15
- keras_hub/src/models/gpt_neo_x/__init__.py +0 -13
- keras_hub/src/models/gpt_neo_x/gpt_neo_x_attention.py +0 -14
- keras_hub/src/models/gpt_neo_x/gpt_neo_x_backbone.py +0 -14
- keras_hub/src/models/gpt_neo_x/gpt_neo_x_causal_lm.py +0 -14
- keras_hub/src/models/gpt_neo_x/gpt_neo_x_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/gpt_neo_x/gpt_neo_x_decoder.py +0 -14
- keras_hub/src/models/gpt_neo_x/gpt_neo_x_tokenizer.py +0 -14
- keras_hub/src/models/image_classifier.py +0 -13
- keras_hub/src/models/image_classifier_preprocessor.py +0 -13
- keras_hub/src/models/image_segmenter.py +0 -13
- keras_hub/src/models/llama/__init__.py +0 -14
- keras_hub/src/models/llama/llama_attention.py +0 -13
- keras_hub/src/models/llama/llama_backbone.py +0 -13
- keras_hub/src/models/llama/llama_causal_lm.py +0 -13
- keras_hub/src/models/llama/llama_causal_lm_preprocessor.py +0 -15
- keras_hub/src/models/llama/llama_decoder.py +0 -13
- keras_hub/src/models/llama/llama_layernorm.py +0 -13
- keras_hub/src/models/llama/llama_presets.py +0 -13
- keras_hub/src/models/llama/llama_tokenizer.py +0 -14
- keras_hub/src/models/llama3/__init__.py +0 -14
- keras_hub/src/models/llama3/llama3_backbone.py +0 -14
- keras_hub/src/models/llama3/llama3_causal_lm.py +0 -13
- keras_hub/src/models/llama3/llama3_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/llama3/llama3_presets.py +0 -13
- keras_hub/src/models/llama3/llama3_tokenizer.py +0 -14
- keras_hub/src/models/masked_lm.py +0 -13
- keras_hub/src/models/masked_lm_preprocessor.py +0 -13
- keras_hub/src/models/mistral/__init__.py +0 -14
- keras_hub/src/models/mistral/mistral_attention.py +0 -13
- keras_hub/src/models/mistral/mistral_backbone.py +0 -14
- keras_hub/src/models/mistral/mistral_causal_lm.py +0 -14
- keras_hub/src/models/mistral/mistral_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/mistral/mistral_layer_norm.py +0 -13
- keras_hub/src/models/mistral/mistral_presets.py +0 -13
- keras_hub/src/models/mistral/mistral_tokenizer.py +0 -14
- keras_hub/src/models/mistral/mistral_transformer_decoder.py +0 -13
- keras_hub/src/models/mix_transformer/__init__.py +0 -13
- keras_hub/src/models/mix_transformer/mix_transformer_backbone.py +0 -13
- keras_hub/src/models/mix_transformer/mix_transformer_classifier.py +0 -13
- keras_hub/src/models/mix_transformer/mix_transformer_layers.py +0 -13
- keras_hub/src/models/mobilenet/__init__.py +0 -13
- keras_hub/src/models/mobilenet/mobilenet_backbone.py +0 -13
- keras_hub/src/models/mobilenet/mobilenet_image_classifier.py +0 -13
- keras_hub/src/models/opt/__init__.py +0 -14
- keras_hub/src/models/opt/opt_backbone.py +0 -15
- keras_hub/src/models/opt/opt_causal_lm.py +0 -15
- keras_hub/src/models/opt/opt_causal_lm_preprocessor.py +0 -13
- keras_hub/src/models/opt/opt_presets.py +0 -13
- keras_hub/src/models/opt/opt_tokenizer.py +0 -15
- keras_hub/src/models/pali_gemma/__init__.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_backbone.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_causal_lm.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_causal_lm_preprocessor.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_decoder_block.py +0 -14
- keras_hub/src/models/pali_gemma/pali_gemma_image_converter.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_presets.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_tokenizer.py +0 -13
- keras_hub/src/models/pali_gemma/pali_gemma_vit.py +0 -13
- keras_hub/src/models/phi3/__init__.py +0 -14
- keras_hub/src/models/phi3/phi3_attention.py +0 -13
- keras_hub/src/models/phi3/phi3_backbone.py +0 -13
- keras_hub/src/models/phi3/phi3_causal_lm.py +0 -13
- keras_hub/src/models/phi3/phi3_causal_lm_preprocessor.py +0 -14
- keras_hub/src/models/phi3/phi3_decoder.py +0 -13
- keras_hub/src/models/phi3/phi3_layernorm.py +0 -13
- keras_hub/src/models/phi3/phi3_presets.py +0 -13
- keras_hub/src/models/phi3/phi3_rotary_embedding.py +0 -13
- keras_hub/src/models/phi3/phi3_tokenizer.py +0 -13
- keras_hub/src/models/preprocessor.py +51 -32
- keras_hub/src/models/resnet/__init__.py +0 -14
- keras_hub/src/models/resnet/resnet_backbone.py +0 -13
- keras_hub/src/models/resnet/resnet_image_classifier.py +0 -13
- keras_hub/src/models/resnet/resnet_image_classifier_preprocessor.py +0 -14
- keras_hub/src/models/resnet/resnet_image_converter.py +0 -13
- keras_hub/src/models/resnet/resnet_presets.py +0 -13
- keras_hub/src/models/retinanet/__init__.py +0 -13
- keras_hub/src/models/retinanet/anchor_generator.py +0 -14
- keras_hub/src/models/retinanet/box_matcher.py +0 -14
- keras_hub/src/models/retinanet/non_max_supression.py +0 -14
- keras_hub/src/models/roberta/__init__.py +0 -14
- keras_hub/src/models/roberta/roberta_backbone.py +0 -15
- keras_hub/src/models/roberta/roberta_masked_lm.py +0 -15
- keras_hub/src/models/roberta/roberta_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/roberta/roberta_presets.py +0 -13
- keras_hub/src/models/roberta/roberta_text_classifier.py +0 -15
- keras_hub/src/models/roberta/roberta_text_classifier_preprocessor.py +0 -14
- keras_hub/src/models/roberta/roberta_tokenizer.py +0 -15
- keras_hub/src/models/sam/__init__.py +0 -13
- keras_hub/src/models/sam/sam_backbone.py +0 -14
- keras_hub/src/models/sam/sam_image_segmenter.py +0 -14
- keras_hub/src/models/sam/sam_layers.py +0 -14
- keras_hub/src/models/sam/sam_mask_decoder.py +0 -14
- keras_hub/src/models/sam/sam_prompt_encoder.py +0 -14
- keras_hub/src/models/sam/sam_transformer.py +0 -14
- keras_hub/src/models/seq_2_seq_lm.py +0 -13
- keras_hub/src/models/seq_2_seq_lm_preprocessor.py +0 -13
- keras_hub/src/models/stable_diffusion_3/__init__.py +9 -0
- keras_hub/src/models/stable_diffusion_3/flow_match_euler_discrete_scheduler.py +80 -0
- keras_hub/src/models/{stable_diffusion_v3 → stable_diffusion_3}/mmdit.py +351 -39
- keras_hub/src/models/stable_diffusion_3/stable_diffusion_3_backbone.py +631 -0
- keras_hub/src/models/stable_diffusion_3/stable_diffusion_3_presets.py +31 -0
- keras_hub/src/models/stable_diffusion_3/stable_diffusion_3_text_to_image.py +138 -0
- keras_hub/src/models/stable_diffusion_3/stable_diffusion_3_text_to_image_preprocessor.py +83 -0
- keras_hub/src/models/{stable_diffusion_v3/t5_xxl_text_encoder.py → stable_diffusion_3/t5_encoder.py} +7 -20
- keras_hub/src/models/stable_diffusion_3/vae_image_decoder.py +320 -0
- keras_hub/src/models/t5/__init__.py +0 -14
- keras_hub/src/models/t5/t5_backbone.py +0 -14
- keras_hub/src/models/t5/t5_layer_norm.py +0 -14
- keras_hub/src/models/t5/t5_multi_head_attention.py +0 -14
- keras_hub/src/models/{stable_diffusion_v3/t5_xxl_preprocessor.py → t5/t5_preprocessor.py} +12 -16
- keras_hub/src/models/t5/t5_presets.py +0 -13
- keras_hub/src/models/t5/t5_tokenizer.py +0 -14
- keras_hub/src/models/t5/t5_transformer_layer.py +0 -14
- keras_hub/src/models/task.py +0 -14
- keras_hub/src/models/text_classifier.py +0 -13
- keras_hub/src/models/text_classifier_preprocessor.py +0 -13
- keras_hub/src/models/text_to_image.py +282 -0
- keras_hub/src/models/vgg/__init__.py +0 -13
- keras_hub/src/models/vgg/vgg_backbone.py +0 -13
- keras_hub/src/models/vgg/vgg_image_classifier.py +0 -13
- keras_hub/src/models/vit_det/__init__.py +0 -13
- keras_hub/src/models/vit_det/vit_det_backbone.py +0 -14
- keras_hub/src/models/vit_det/vit_layers.py +0 -15
- keras_hub/src/models/whisper/__init__.py +0 -14
- keras_hub/src/models/whisper/whisper_audio_converter.py +0 -15
- keras_hub/src/models/whisper/whisper_backbone.py +0 -15
- keras_hub/src/models/whisper/whisper_cached_multi_head_attention.py +0 -13
- keras_hub/src/models/whisper/whisper_decoder.py +0 -14
- keras_hub/src/models/whisper/whisper_encoder.py +0 -14
- keras_hub/src/models/whisper/whisper_presets.py +0 -14
- keras_hub/src/models/whisper/whisper_tokenizer.py +0 -14
- keras_hub/src/models/xlm_roberta/__init__.py +0 -14
- keras_hub/src/models/xlm_roberta/xlm_roberta_backbone.py +0 -15
- keras_hub/src/models/xlm_roberta/xlm_roberta_masked_lm.py +0 -15
- keras_hub/src/models/xlm_roberta/xlm_roberta_masked_lm_preprocessor.py +0 -14
- keras_hub/src/models/xlm_roberta/xlm_roberta_presets.py +0 -13
- keras_hub/src/models/xlm_roberta/xlm_roberta_text_classifier.py +0 -15
- keras_hub/src/models/xlm_roberta/xlm_roberta_text_classifier_preprocessor.py +0 -15
- keras_hub/src/models/xlm_roberta/xlm_roberta_tokenizer.py +0 -15
- keras_hub/src/models/xlnet/__init__.py +0 -13
- keras_hub/src/models/xlnet/relative_attention.py +0 -14
- keras_hub/src/models/xlnet/xlnet_backbone.py +0 -14
- keras_hub/src/models/xlnet/xlnet_content_and_query_embedding.py +0 -14
- keras_hub/src/models/xlnet/xlnet_encoder.py +0 -14
- keras_hub/src/samplers/__init__.py +0 -13
- keras_hub/src/samplers/beam_sampler.py +0 -14
- keras_hub/src/samplers/contrastive_sampler.py +0 -14
- keras_hub/src/samplers/greedy_sampler.py +0 -14
- keras_hub/src/samplers/random_sampler.py +0 -14
- keras_hub/src/samplers/sampler.py +0 -14
- keras_hub/src/samplers/serialization.py +0 -14
- keras_hub/src/samplers/top_k_sampler.py +0 -14
- keras_hub/src/samplers/top_p_sampler.py +0 -14
- keras_hub/src/tests/__init__.py +0 -13
- keras_hub/src/tests/test_case.py +0 -14
- keras_hub/src/tokenizers/__init__.py +0 -13
- keras_hub/src/tokenizers/byte_pair_tokenizer.py +0 -14
- keras_hub/src/tokenizers/byte_tokenizer.py +0 -14
- keras_hub/src/tokenizers/sentence_piece_tokenizer.py +0 -14
- keras_hub/src/tokenizers/sentence_piece_tokenizer_trainer.py +0 -14
- keras_hub/src/tokenizers/tokenizer.py +23 -27
- keras_hub/src/tokenizers/unicode_codepoint_tokenizer.py +0 -15
- keras_hub/src/tokenizers/word_piece_tokenizer.py +0 -14
- keras_hub/src/tokenizers/word_piece_tokenizer_trainer.py +0 -15
- keras_hub/src/utils/__init__.py +0 -13
- keras_hub/src/utils/imagenet/__init__.py +0 -13
- keras_hub/src/utils/imagenet/imagenet_utils.py +0 -13
- keras_hub/src/utils/keras_utils.py +0 -14
- keras_hub/src/utils/pipeline_model.py +0 -14
- keras_hub/src/utils/preset_utils.py +32 -76
- keras_hub/src/utils/python_utils.py +0 -13
- keras_hub/src/utils/tensor_utils.py +0 -14
- keras_hub/src/utils/timm/__init__.py +0 -13
- keras_hub/src/utils/timm/convert_densenet.py +107 -0
- keras_hub/src/utils/timm/convert_resnet.py +0 -13
- keras_hub/src/utils/timm/preset_loader.py +3 -13
- keras_hub/src/utils/transformers/__init__.py +0 -13
- keras_hub/src/utils/transformers/convert_albert.py +0 -13
- keras_hub/src/utils/transformers/convert_bart.py +0 -13
- keras_hub/src/utils/transformers/convert_bert.py +0 -13
- keras_hub/src/utils/transformers/convert_distilbert.py +0 -13
- keras_hub/src/utils/transformers/convert_gemma.py +0 -13
- keras_hub/src/utils/transformers/convert_gpt2.py +0 -13
- keras_hub/src/utils/transformers/convert_llama3.py +0 -13
- keras_hub/src/utils/transformers/convert_mistral.py +0 -13
- keras_hub/src/utils/transformers/convert_pali_gemma.py +0 -13
- keras_hub/src/utils/transformers/preset_loader.py +1 -15
- keras_hub/src/utils/transformers/safetensor_utils.py +9 -15
- keras_hub/src/version_utils.py +1 -15
- {keras_hub_nightly-0.16.1.dev202409250340.dist-info → keras_hub_nightly-0.16.1.dev202409270338.dist-info}/METADATA +30 -27
- keras_hub_nightly-0.16.1.dev202409270338.dist-info/RECORD +351 -0
- keras_hub/src/models/stable_diffusion_v3/clip_preprocessor.py +0 -93
- keras_hub/src/models/stable_diffusion_v3/clip_text_encoder.py +0 -149
- keras_hub/src/models/stable_diffusion_v3/mmdit_block.py +0 -317
- keras_hub/src/models/stable_diffusion_v3/vae_attention.py +0 -126
- keras_hub/src/models/stable_diffusion_v3/vae_image_decoder.py +0 -186
- keras_hub_nightly-0.16.1.dev202409250340.dist-info/RECORD +0 -342
- {keras_hub_nightly-0.16.1.dev202409250340.dist-info → keras_hub_nightly-0.16.1.dev202409270338.dist-info}/WHEEL +0 -0
- {keras_hub_nightly-0.16.1.dev202409250340.dist-info → keras_hub_nightly-0.16.1.dev202409270338.dist-info}/top_level.txt +0 -0
@@ -1,30 +1,16 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
import os
|
15
2
|
|
16
3
|
from keras_hub.src.api_export import keras_hub_export
|
17
4
|
from keras_hub.src.layers.preprocessing.preprocessing_layer import (
|
18
5
|
PreprocessingLayer,
|
19
6
|
)
|
20
|
-
from keras_hub.src.utils.preset_utils import
|
7
|
+
from keras_hub.src.utils.preset_utils import ASSET_DIR
|
21
8
|
from keras_hub.src.utils.preset_utils import TOKENIZER_CONFIG_FILE
|
22
9
|
from keras_hub.src.utils.preset_utils import builtin_presets
|
23
10
|
from keras_hub.src.utils.preset_utils import find_subclass
|
24
11
|
from keras_hub.src.utils.preset_utils import get_file
|
25
12
|
from keras_hub.src.utils.preset_utils import get_preset_loader
|
26
13
|
from keras_hub.src.utils.preset_utils import save_serialized_object
|
27
|
-
from keras_hub.src.utils.preset_utils import save_tokenizer_assets
|
28
14
|
from keras_hub.src.utils.python_utils import classproperty
|
29
15
|
from keras_hub.src.utils.tensor_utils import preprocessing_function
|
30
16
|
|
@@ -80,6 +66,7 @@ class Tokenizer(PreprocessingLayer):
|
|
80
66
|
backbone_cls = None
|
81
67
|
|
82
68
|
def __init__(self, *args, **kwargs):
|
69
|
+
self.config_name = kwargs.pop("config_name", TOKENIZER_CONFIG_FILE)
|
83
70
|
super().__init__(*args, **kwargs)
|
84
71
|
self.file_assets = None
|
85
72
|
|
@@ -187,18 +174,26 @@ class Tokenizer(PreprocessingLayer):
|
|
187
174
|
token = getattr(self, attr)
|
188
175
|
setattr(self, f"{attr}_id", self.token_to_id(token))
|
189
176
|
|
177
|
+
def get_config(self):
|
178
|
+
config = super().get_config()
|
179
|
+
config.update(
|
180
|
+
{
|
181
|
+
"config_name": self.config_name,
|
182
|
+
}
|
183
|
+
)
|
184
|
+
return config
|
185
|
+
|
190
186
|
def save_to_preset(self, preset_dir):
|
191
187
|
"""Save tokenizer to a preset directory.
|
192
188
|
|
193
189
|
Args:
|
194
190
|
preset_dir: The path to the local model preset directory.
|
195
191
|
"""
|
196
|
-
save_serialized_object(
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
)
|
201
|
-
save_tokenizer_assets(self, preset_dir)
|
192
|
+
save_serialized_object(self, preset_dir, config_file=self.config_name)
|
193
|
+
subdir = self.config_name.split(".")[0]
|
194
|
+
asset_dir = os.path.join(preset_dir, ASSET_DIR, subdir)
|
195
|
+
os.makedirs(asset_dir, exist_ok=True)
|
196
|
+
self.save_assets(asset_dir)
|
202
197
|
|
203
198
|
@preprocessing_function
|
204
199
|
def call(self, inputs, *args, training=None, **kwargs):
|
@@ -207,11 +202,11 @@ class Tokenizer(PreprocessingLayer):
|
|
207
202
|
def load_preset_assets(self, preset):
|
208
203
|
asset_path = None
|
209
204
|
for asset in self.file_assets:
|
210
|
-
|
211
|
-
|
212
|
-
)
|
213
|
-
|
214
|
-
self.load_assets(
|
205
|
+
subdir = self.config_name.split(".")[0]
|
206
|
+
preset_path = os.path.join(ASSET_DIR, subdir, asset)
|
207
|
+
asset_path = get_file(preset, preset_path)
|
208
|
+
tokenizer_config_name = os.path.dirname(asset_path)
|
209
|
+
self.load_assets(tokenizer_config_name)
|
215
210
|
|
216
211
|
@classproperty
|
217
212
|
def presets(cls):
|
@@ -222,6 +217,7 @@ class Tokenizer(PreprocessingLayer):
|
|
222
217
|
def from_preset(
|
223
218
|
cls,
|
224
219
|
preset,
|
220
|
+
config_name=TOKENIZER_CONFIG_FILE,
|
225
221
|
**kwargs,
|
226
222
|
):
|
227
223
|
"""Instantiate a `keras_hub.models.Tokenizer` from a model preset.
|
@@ -267,4 +263,4 @@ class Tokenizer(PreprocessingLayer):
|
|
267
263
|
backbone_cls = loader.check_backbone_class()
|
268
264
|
if cls.backbone_cls != backbone_cls:
|
269
265
|
cls = find_subclass(preset, cls, backbone_cls)
|
270
|
-
return loader.load_tokenizer(cls, **kwargs)
|
266
|
+
return loader.load_tokenizer(cls, config_name, **kwargs)
|
@@ -1,18 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
1
|
from keras_hub.src.api_export import keras_hub_export
|
17
2
|
from keras_hub.src.tokenizers import tokenizer
|
18
3
|
from keras_hub.src.utils.tensor_utils import convert_to_ragged_batch
|
@@ -1,17 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
1
|
import os
|
16
2
|
import re
|
17
3
|
from typing import Iterable
|
@@ -1,18 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
|
-
|
16
1
|
from keras_hub.src.api_export import keras_hub_export
|
17
2
|
from keras_hub.src.tokenizers.word_piece_tokenizer import pretokenize
|
18
3
|
|
keras_hub/src/utils/__init__.py
CHANGED
@@ -1,13 +0,0 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# Copyright 2024 The KerasNLP Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasNLP Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
from keras import ops
|
15
2
|
|
16
3
|
from keras_hub.src.api_export import keras_hub_export
|
@@ -1,17 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
1
|
import sys
|
16
2
|
|
17
3
|
import keras
|
@@ -1,17 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
1
|
import functools
|
16
2
|
import math
|
17
3
|
|
@@ -1,17 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
1
|
import collections
|
16
2
|
import datetime
|
17
3
|
import inspect
|
@@ -55,7 +41,8 @@ KAGGLE_SCHEME = "kaggle"
|
|
55
41
|
GS_SCHEME = "gs"
|
56
42
|
HF_SCHEME = "hf"
|
57
43
|
|
58
|
-
|
44
|
+
ASSET_DIR = "assets"
|
45
|
+
TOKENIZER_ASSET_DIR = f"{ASSET_DIR}/tokenizer"
|
59
46
|
|
60
47
|
# Config file names.
|
61
48
|
CONFIG_FILE = "config.json"
|
@@ -307,13 +294,6 @@ def make_preset_dir(preset):
|
|
307
294
|
os.makedirs(preset, exist_ok=True)
|
308
295
|
|
309
296
|
|
310
|
-
def save_tokenizer_assets(tokenizer, preset):
|
311
|
-
if tokenizer:
|
312
|
-
asset_dir = os.path.join(preset, TOKENIZER_ASSET_DIR)
|
313
|
-
os.makedirs(asset_dir, exist_ok=True)
|
314
|
-
tokenizer.save_assets(asset_dir)
|
315
|
-
|
316
|
-
|
317
297
|
def save_serialized_object(
|
318
298
|
layer,
|
319
299
|
preset,
|
@@ -345,37 +325,6 @@ def save_metadata(layer, preset):
|
|
345
325
|
metadata_file.write(json.dumps(metadata, indent=4))
|
346
326
|
|
347
327
|
|
348
|
-
def _validate_tokenizer(preset):
|
349
|
-
if not check_file_exists(preset, TOKENIZER_CONFIG_FILE):
|
350
|
-
return
|
351
|
-
config_path = get_file(preset, TOKENIZER_CONFIG_FILE)
|
352
|
-
try:
|
353
|
-
with open(config_path, encoding="utf-8") as config_file:
|
354
|
-
config = json.load(config_file)
|
355
|
-
except Exception as e:
|
356
|
-
raise ValueError(
|
357
|
-
f"Tokenizer config file `{config_path}` is an invalid json file. "
|
358
|
-
f"Error message: {e}"
|
359
|
-
)
|
360
|
-
layer = keras.saving.deserialize_keras_object(config)
|
361
|
-
|
362
|
-
for asset in layer.file_assets:
|
363
|
-
asset_path = get_file(preset, os.path.join(TOKENIZER_ASSET_DIR, asset))
|
364
|
-
if not os.path.exists(asset_path):
|
365
|
-
tokenizer_asset_dir = os.path.dirname(asset_path)
|
366
|
-
raise FileNotFoundError(
|
367
|
-
f"Asset `{asset}` doesn't exist in the tokenizer asset direcotry"
|
368
|
-
f" `{tokenizer_asset_dir}`."
|
369
|
-
)
|
370
|
-
config_dir = os.path.dirname(config_path)
|
371
|
-
asset_dir = os.path.join(config_dir, TOKENIZER_ASSET_DIR)
|
372
|
-
|
373
|
-
tokenizer = get_tokenizer(layer)
|
374
|
-
if not tokenizer:
|
375
|
-
raise ValueError(f"Model or layer `{layer}` is missing tokenizer.")
|
376
|
-
tokenizer.load_assets(asset_dir)
|
377
|
-
|
378
|
-
|
379
328
|
def _validate_backbone(preset):
|
380
329
|
config_path = os.path.join(preset, CONFIG_FILE)
|
381
330
|
if not os.path.exists(config_path):
|
@@ -493,7 +442,6 @@ def upload_preset(
|
|
493
442
|
raise FileNotFoundError(f"The preset directory {preset} doesn't exist.")
|
494
443
|
|
495
444
|
_validate_backbone(preset)
|
496
|
-
_validate_tokenizer(preset)
|
497
445
|
|
498
446
|
if uri.startswith(KAGGLE_PREFIX):
|
499
447
|
if kagglehub is None:
|
@@ -657,6 +605,20 @@ class PresetLoader:
|
|
657
605
|
self.config = config
|
658
606
|
self.preset = preset
|
659
607
|
|
608
|
+
def get_backbone_kwargs(self, **kwargs):
|
609
|
+
backbone_kwargs = {}
|
610
|
+
|
611
|
+
# Forward `dtype` to backbone.
|
612
|
+
backbone_kwargs["dtype"] = kwargs.pop("dtype", None)
|
613
|
+
|
614
|
+
# Forward `height` and `width` to backbone when using `TextToImage`.
|
615
|
+
if "height" in kwargs:
|
616
|
+
backbone_kwargs["height"] = kwargs.pop("height", None)
|
617
|
+
if "width" in kwargs:
|
618
|
+
backbone_kwargs["width"] = kwargs.pop("width", None)
|
619
|
+
|
620
|
+
return backbone_kwargs, kwargs
|
621
|
+
|
660
622
|
def check_backbone_class(self):
|
661
623
|
"""Infer the backbone architecture."""
|
662
624
|
raise NotImplementedError
|
@@ -665,7 +627,7 @@ class PresetLoader:
|
|
665
627
|
"""Load the backbone model from the preset."""
|
666
628
|
raise NotImplementedError
|
667
629
|
|
668
|
-
def load_tokenizer(self, cls, **kwargs):
|
630
|
+
def load_tokenizer(self, cls, config_name=TOKENIZER_CONFIG_FILE, **kwargs):
|
669
631
|
"""Load a tokenizer layer from the preset."""
|
670
632
|
raise NotImplementedError
|
671
633
|
|
@@ -685,8 +647,7 @@ class PresetLoader:
|
|
685
647
|
"""
|
686
648
|
if "backbone" not in kwargs:
|
687
649
|
backbone_class = cls.backbone_cls
|
688
|
-
|
689
|
-
backbone_kwargs = {"dtype": kwargs.pop("dtype", None)}
|
650
|
+
backbone_kwargs, kwargs = self.get_backbone_kwargs(**kwargs)
|
690
651
|
kwargs["backbone"] = self.load_backbone(
|
691
652
|
backbone_class, load_weights, **backbone_kwargs
|
692
653
|
)
|
@@ -696,23 +657,16 @@ class PresetLoader:
|
|
696
657
|
)
|
697
658
|
return cls(**kwargs)
|
698
659
|
|
699
|
-
def load_preprocessor(
|
660
|
+
def load_preprocessor(
|
661
|
+
self, cls, config_name=PREPROCESSOR_CONFIG_FILE, **kwargs
|
662
|
+
):
|
700
663
|
"""Load a prepocessor layer from the preset.
|
701
664
|
|
702
665
|
By default, we create a preprocessor from a tokenizer with default
|
703
666
|
arguments. This allow us to support transformers checkpoints by
|
704
667
|
only converting the backbone and tokenizer.
|
705
668
|
"""
|
706
|
-
|
707
|
-
kwargs["tokenizer"] = self.load_tokenizer(cls.tokenizer_cls)
|
708
|
-
if "audio_converter" not in kwargs and cls.audio_converter_cls:
|
709
|
-
kwargs["audio_converter"] = self.load_audio_converter(
|
710
|
-
cls.audio_converter_cls
|
711
|
-
)
|
712
|
-
if "image_converter" not in kwargs and cls.image_converter_cls:
|
713
|
-
kwargs["image_converter"] = self.load_image_converter(
|
714
|
-
cls.image_converter_cls
|
715
|
-
)
|
669
|
+
kwargs = cls._add_missing_kwargs(self, kwargs)
|
716
670
|
return cls(**kwargs)
|
717
671
|
|
718
672
|
|
@@ -727,8 +681,8 @@ class KerasPresetLoader(PresetLoader):
|
|
727
681
|
backbone.load_weights(get_file(self.preset, MODEL_WEIGHTS_FILE))
|
728
682
|
return backbone
|
729
683
|
|
730
|
-
def load_tokenizer(self, cls, **kwargs):
|
731
|
-
tokenizer_config = load_json(self.preset,
|
684
|
+
def load_tokenizer(self, cls, config_name=TOKENIZER_CONFIG_FILE, **kwargs):
|
685
|
+
tokenizer_config = load_json(self.preset, config_name)
|
732
686
|
tokenizer = load_serialized_object(tokenizer_config, **kwargs)
|
733
687
|
tokenizer.load_preset_assets(self.preset)
|
734
688
|
return tokenizer
|
@@ -755,8 +709,8 @@ class KerasPresetLoader(PresetLoader):
|
|
755
709
|
)
|
756
710
|
# We found a `task.json` with a complete config for our class.
|
757
711
|
task = load_serialized_object(task_config, **kwargs)
|
758
|
-
if task.preprocessor
|
759
|
-
task.preprocessor.
|
712
|
+
if task.preprocessor:
|
713
|
+
task.preprocessor.load_preset_assets(self.preset)
|
760
714
|
if load_weights:
|
761
715
|
has_task_weights = check_file_exists(self.preset, TASK_WEIGHTS_FILE)
|
762
716
|
if has_task_weights and load_task_weights:
|
@@ -769,15 +723,17 @@ class KerasPresetLoader(PresetLoader):
|
|
769
723
|
task.backbone.load_weights(backbone_weights)
|
770
724
|
return task
|
771
725
|
|
772
|
-
def load_preprocessor(
|
726
|
+
def load_preprocessor(
|
727
|
+
self, cls, config_name=PREPROCESSOR_CONFIG_FILE, **kwargs
|
728
|
+
):
|
773
729
|
# If there is no `preprocessing.json` or it's for the wrong class,
|
774
730
|
# delegate to the super class loader.
|
775
|
-
if not check_file_exists(self.preset,
|
731
|
+
if not check_file_exists(self.preset, config_name):
|
776
732
|
return super().load_preprocessor(cls, **kwargs)
|
777
|
-
preprocessor_json = load_json(self.preset,
|
733
|
+
preprocessor_json = load_json(self.preset, config_name)
|
778
734
|
if not issubclass(check_config_class(preprocessor_json), cls):
|
779
735
|
return super().load_preprocessor(cls, **kwargs)
|
780
736
|
# We found a `preprocessing.json` with a complete config for our class.
|
781
737
|
preprocessor = load_serialized_object(preprocessor_json, **kwargs)
|
782
|
-
preprocessor.
|
738
|
+
preprocessor.load_preset_assets(self.preset)
|
783
739
|
return preprocessor
|
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
"""Utilities with miscellaneous python extensions."""
|
15
2
|
|
16
3
|
|
@@ -1,17 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
|
15
1
|
import contextlib
|
16
2
|
import functools
|
17
3
|
import inspect
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
@@ -0,0 +1,107 @@
|
|
1
|
+
# Copyright 2024 The KerasHUB Authors
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
import numpy as np
|
15
|
+
|
16
|
+
from keras_hub.src.models.densenet.densenet_backbone import DenseNetBackbone
|
17
|
+
|
18
|
+
backbone_cls = DenseNetBackbone
|
19
|
+
|
20
|
+
|
21
|
+
def convert_backbone_config(timm_config):
|
22
|
+
timm_architecture = timm_config["architecture"]
|
23
|
+
|
24
|
+
if timm_architecture == "densenet121":
|
25
|
+
stackwise_num_repeats = [6, 12, 24, 16]
|
26
|
+
elif timm_architecture == "densenet169":
|
27
|
+
stackwise_num_repeats = [6, 12, 32, 32]
|
28
|
+
elif timm_architecture == "densenet201":
|
29
|
+
stackwise_num_repeats = [6, 12, 48, 32]
|
30
|
+
else:
|
31
|
+
raise ValueError(
|
32
|
+
f"Currently, the architecture {timm_architecture} is not supported."
|
33
|
+
)
|
34
|
+
return dict(
|
35
|
+
stackwise_num_repeats=stackwise_num_repeats,
|
36
|
+
compression_ratio=0.5,
|
37
|
+
growth_rate=32,
|
38
|
+
)
|
39
|
+
|
40
|
+
|
41
|
+
def convert_weights(backbone, loader, timm_config):
|
42
|
+
def port_conv2d(keras_layer_name, hf_weight_prefix):
|
43
|
+
loader.port_weight(
|
44
|
+
backbone.get_layer(keras_layer_name).kernel,
|
45
|
+
hf_weight_key=f"{hf_weight_prefix}.weight",
|
46
|
+
hook_fn=lambda x, _: np.transpose(x, (2, 3, 1, 0)),
|
47
|
+
)
|
48
|
+
|
49
|
+
def port_batch_normalization(keras_layer_name, hf_weight_prefix):
|
50
|
+
loader.port_weight(
|
51
|
+
backbone.get_layer(keras_layer_name).gamma,
|
52
|
+
hf_weight_key=f"{hf_weight_prefix}.weight",
|
53
|
+
)
|
54
|
+
loader.port_weight(
|
55
|
+
backbone.get_layer(keras_layer_name).beta,
|
56
|
+
hf_weight_key=f"{hf_weight_prefix}.bias",
|
57
|
+
)
|
58
|
+
loader.port_weight(
|
59
|
+
backbone.get_layer(keras_layer_name).moving_mean,
|
60
|
+
hf_weight_key=f"{hf_weight_prefix}.running_mean",
|
61
|
+
)
|
62
|
+
loader.port_weight(
|
63
|
+
backbone.get_layer(keras_layer_name).moving_variance,
|
64
|
+
hf_weight_key=f"{hf_weight_prefix}.running_var",
|
65
|
+
)
|
66
|
+
|
67
|
+
# Stem
|
68
|
+
port_conv2d("conv1_conv", "features.conv0")
|
69
|
+
port_batch_normalization("conv1_bn", "features.norm0")
|
70
|
+
|
71
|
+
# Stages
|
72
|
+
num_stacks = len(backbone.stackwise_num_repeats)
|
73
|
+
for stack_index in range(num_stacks):
|
74
|
+
for block_idx in range(backbone.stackwise_num_repeats[stack_index]):
|
75
|
+
keras_name = f"stack{stack_index+1}_block{block_idx+1}"
|
76
|
+
hf_name = (
|
77
|
+
f"features.denseblock{stack_index+1}.denselayer{block_idx+1}"
|
78
|
+
)
|
79
|
+
port_batch_normalization(f"{keras_name}_1_bn", f"{hf_name}.norm1")
|
80
|
+
port_conv2d(f"{keras_name}_1_conv", f"{hf_name}.conv1")
|
81
|
+
port_batch_normalization(f"{keras_name}_2_bn", f"{hf_name}.norm2")
|
82
|
+
port_conv2d(f"{keras_name}_2_conv", f"{hf_name}.conv2")
|
83
|
+
|
84
|
+
for stack_index in range(num_stacks - 1):
|
85
|
+
keras_transition_name = f"transition{stack_index+1}"
|
86
|
+
hf_transition_name = f"features.transition{stack_index+1}"
|
87
|
+
port_batch_normalization(
|
88
|
+
f"{keras_transition_name}_bn", f"{hf_transition_name}.norm"
|
89
|
+
)
|
90
|
+
port_conv2d(
|
91
|
+
f"{keras_transition_name}_conv", f"{hf_transition_name}.conv"
|
92
|
+
)
|
93
|
+
|
94
|
+
# Post
|
95
|
+
port_batch_normalization("bn", "features.norm5")
|
96
|
+
|
97
|
+
|
98
|
+
def convert_head(task, loader, timm_config):
|
99
|
+
loader.port_weight(
|
100
|
+
task.output_dense.kernel,
|
101
|
+
hf_weight_key="classifier.weight",
|
102
|
+
hook_fn=lambda x, _: np.transpose(np.squeeze(x)),
|
103
|
+
)
|
104
|
+
loader.port_weight(
|
105
|
+
task.output_dense.bias,
|
106
|
+
hf_weight_key="classifier.bias",
|
107
|
+
)
|
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
import numpy as np
|
15
2
|
|
16
3
|
from keras_hub.src.models.resnet.resnet_backbone import ResNetBackbone
|
@@ -1,21 +1,9 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
"""Convert timm models to KerasHub."""
|
15
2
|
|
16
3
|
from keras_hub.src.models.image_classifier import ImageClassifier
|
17
4
|
from keras_hub.src.utils.preset_utils import PresetLoader
|
18
5
|
from keras_hub.src.utils.preset_utils import jax_memory_cleanup
|
6
|
+
from keras_hub.src.utils.timm import convert_densenet
|
19
7
|
from keras_hub.src.utils.timm import convert_resnet
|
20
8
|
from keras_hub.src.utils.transformers.safetensor_utils import SafetensorLoader
|
21
9
|
|
@@ -26,6 +14,8 @@ class TimmPresetLoader(PresetLoader):
|
|
26
14
|
architecture = self.config["architecture"]
|
27
15
|
if "resnet" in architecture:
|
28
16
|
self.converter = convert_resnet
|
17
|
+
if "densenet" in architecture:
|
18
|
+
self.converter = convert_densenet
|
29
19
|
else:
|
30
20
|
raise ValueError(
|
31
21
|
"KerasHub has no converter for timm models "
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# Copyright 2024 The KerasHub Authors
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|