Skip to main content

Library for address model predictions

Project description

Custom ALBERT Text Classification with Keras

This project provides a custom implementation of text classification using ALBERT, LSTM, and custom Keras layers. It includes model loading, tokenization, predictions, and custom layers for handling class names and ALBERT embeddings.

Files Overview

model_loader.py

This module is responsible for loading a pre-trained Keras model with custom objects.

Functions:

  • load_custom_model(model_path): Loads the model with custom layers ClassNamesLayer and BertLayer.

tokenizer_utils.py

This module provides utilities for loading a pre-trained ALBERT tokenizer and tokenizing input texts.

Functions:

  • load_tokenizer(): Loads the ALBERT tokenizer (albert-base-v2).
  • tokenize_texts(texts, tokenizer, max_len): Tokenizes input texts and returns token IDs and attention masks.

predictions.py

This module handles model predictions and formatting the output. It provides utilities to make predictions and process them for output.

Functions:

  • get_classes_from_model(model): Retrieves class names from the ClassNamesLayer.
  • make_predictions(model, tokenizer, texts, max_len): Tokenizes the input texts and generates predictions from the model.
  • process_predictions(text, predictions, tokenizer, classes, write_func): Processes the predictions and writes the formatted output using the specified write function.
  • write_current_word(classes, write_func, pred_values, idx, current_word): Writes the predicted class for the current word to the output.
  • write_predictions_to_file(file, text, predictions, tokenizer, classes): Writes predictions to a file.
  • print_predictions(text, predictions, tokenizer, classes): Prints predictions to the console.

class_names_layer.py

This module defines the custom ClassNamesLayer used to store class names in the Keras model.

Class:

  • ClassNamesLayer: A custom Keras layer to handle class names. It stores the class names and can be serialized and restored.

bert_layer.py

This module defines the custom BertLayer used to integrate the pre-trained ALBERT model into a Keras model.

Class:

  • BertLayer: A custom Keras layer that loads and uses the ALBERT model (albert-base-v2) for embeddings.

Example Usage

from transformers import AlbertTokenizer
from model_loader import load_custom_model
from predictions import get_classes_from_model, make_predictions, print_predictions
from tokenizer_utils import load_tokenizer

# Load the pre-trained model
model = load_custom_model('path_to_model.keras')

# Load the ALBERT tokenizer
tokenizer = load_tokenizer()

# Example texts to classify
texts = ["This is a test sentence for classification"]

# Get class names from the model
classes = get_classes_from_model(model)

# Make predictions
predictions = make_predictions(model, tokenizer, texts, max_len=128)

# Print predictions to console
print_predictions(texts[0], predictions, tokenizer, classes)

Installation

To install the necessary dependencies, use the following command:

pip install ai_address_lib

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_address_lib-0.4.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

ai_address_lib-0.4.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file ai_address_lib-0.4.1.tar.gz.

File metadata

  • Download URL: ai_address_lib-0.4.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for ai_address_lib-0.4.1.tar.gz
Algorithm Hash digest
SHA256 d3f959863957e273a8dffe61e4ebf6724cdef8a10e8965dc7c4560b5afe5d0f4
MD5 46c90381f349fd8e7402fbbbe7ee22c4
BLAKE2b-256 faafba04964703ba67788f6fb0b68b2d85f216d9719f589bf183586f9cfc6784

See more details on using hashes here.

File details

Details for the file ai_address_lib-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_address_lib-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9dc1b701873b3cd8a4e26c5141058f9b2d47327986ed104fba1efdcdbb6654d9
MD5 ec88dac6df44ddbba2354b631ad45d71
BLAKE2b-256 ed5a8860510781b959d685cf9f1774e994f6886742e0fafc78cbaf04fe3e79fa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page