Generic Python Function Model Type

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

Upload Generic Python Function Model to a Machine Learning Repository

Use the following function to upload a Generic Python Function model to a Machine Learning repository in Artifactory:

import frogml

repository = "repository-name"
name = "model-name"
namespace = "namespace"
version = "version-1"
properties = {"key1": "value1"}
dependencies = ["pandas==1.2.3"]
code_dir = "full/path/to/code/dir"

def simple_regression(x, y):
    """
    Perform simple linear regression on the given data.

    :param x: List of input values (independent variable)
    :param y: List of output values (dependent variable)
    :return: Tuple containing the slope and intercept of the regression line
    """
    n = len(x)
    mean_x = sum(x) / n
    mean_y = sum(y) / n
    # Calculate the slope (m) and intercept (b)
    numerator = sum((x[i] - mean_x) * (y[i] - mean_y) for i in range(n))
    denominator = sum((x[i] - mean_x) ** 2 for i in range(n))
    slope = numerator / denominator
    intercept = mean_y - slope * mean_x

    return slope, intercept

frogml.python.log_model(
    function=simple_regression,
    repository=repository,
    model_name=name,
    namespace=namespace,
    version=version,
    properties=properties,
    dependencies=dependencies,
    code_dir=code_dir,
)

Download a Generic Python Function Model from a Machine Learning Repository

Use the following function to download a Generic Python Function model from a Machine Learning repository in Artifactory:

import frogml

repository = "repository-name"
name = "model-name"
namespace = "namespace"
version = "version-1"
full_target_path = "full/path/to/target/path" # optional parameter

regression_func = frogml.python.load_model(
    repository=repository,
    namespace=namespace,
    model_name=name,
    version=version,
    target_path=full_target_path,
)

Get Information on a Generic Python Function Model in a Machine Learning Repository

Use the following function to retrieve information about a specific Generic Python Function model stored in a Machine Learning repository in Artifactory.

import frogml

repository = "repository-name"
name = "model-name"
namespace = "namespace"
version = "version-1"

frogml.python.get_model_info(
    repository=repository,
    name=name,
    namespace=namespace,
    version=version,
)