Artificial Neural Network (DL_ANN)

This function creates and uses a model consisting of layers of interconnected nodes (neurons) that process input data and produce output predictions.

An artificial neural network (ANN) is a type of machine learning model inspired by the structure and function of biological neurons in the human brain. It consists of layers of interconnected nodes (neurons) that process input data and produce output predictions. Each neuron takes in one or more inputs, applies a mathematical function to them, and passes the result to the next layer of neurons. By adjusting the weights and biases of the connections between neurons during training, the network can learn to make accurate predictions on new data. ANNs are used for a wide variety of tasks, including image and speech recognition, natural language processing, and predictive modeling.

Sample Request

Build a sequential ANN model for Binary Classification

{
    "project_id": 1,
    "parent_id": 7,
    "block_id": 8,
    "function_code": "DL_ANN_S_I",
    "args": {
        "layer_list": [
            {
                "type": "conv2d",
                "filters": 32,
                "kernel_size": [3, 3],
                "padding": "valid",
                "activation": "relu"
            },
            {
                "type": "maxpooling2d",
                "pool_size": [2, 2]
            },
            {
                "type": "upsampling2d",
                "size": [2, 2]
            },
            {
                "type": "flatten"
            },
            {
                "type": "dropout",
                "rate": 0.5,
            },
            {
                "type": "embedding",
                "input_dim": 1000,
                "output_dim": 64
            },
            {
                "type": "lstm",
                "units": 64,
                "return_sequences": false
            },
            {
                "type": "batchnormalization",
            {
                "type": "dense",
                "units": 1,
                "activation": "sigmoid"
            }
        ]
    }
}

Building a Sequential Artificial Neural Network

Sequential ANN Construction

POST https://autogon.ai/api/v1/engine/start

Request Body

NameTypeDescription

project_id*

int

The id of the current project

block_id*

int

The id of the current block

function_code*

string

The function code for current block

parent_id*

int

The id of the previous block

args*

object

Block arguments

layer_list*

list

List of layers for the Artificial Neural Network

type*

string

Type of layer to add

units*

int

Dimensionality of the output space of the layer

activation

string

Activation function applied to the layer's output. Default: "relu".

filters

int

Number of filters or output channels in the convolutional layer. Default: 32.

kernel_size

array

Size of the convolutional kernel. Default: [3, 3].

padding

string

Padding scheme for the layer. Default: "valid".

pool_size

array

Size of the pooling window. Default: [2, 2].

rate

float

Fraction of input units to drop during training (0-1). Default: 0.5.

input_dim

int

Size of the input vocabulary. Default: 1000.

output_dim

int

Dimensionality of the dense embedding. Default: 64.

return_sequences

bool

Whether to return the full sequence or only the last output. Default: false.

size

array

The upsampling factors for rows and columns.

Default: [2, 2].

{
    "status": "true",
    "message": {
        "id": 8,
        "project": 1,
        "block_id": 8,
        "parent_id": 7,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": {}
    }
}

Sample Request

Compile and train the pre-built ANN model, using passed-in Hyper Parameters

{
    "project_id": 1,
    "parent_id": 8,
    "block_id": 9,
    "function_code": "DL_ANN_T",
    "args": {
        "model_name": "titanic_model",
        "add_dim": false,
        "hyp_params":{
            "optimizer": "adam",
            "loss": "binary_crossentropy",
            "metrics": ["accuracy"],
            "batch_size": 12,
            "epochs": 5,
            "autoencoder": false
        }
    }
}

Training an Artificial Neural Network

ANN Training

POST https://autogon.ai/api/v1

Request Body

NameTypeDescription

project_id*

int

The id of the current project

hyp_params*

object

hyper parameters for model compilation and training

parent_id*

int

The id of the previous block

block_id*

int

The id of the current block

function_code*

The function code for current block

args*

object

Block arguments

model_name*

String

The name the model would be saved with

optimizer

String

Optimization function to be used e.g: "adam"

loss*

String

Loss function to be used e.g: "binary_crossentropy"

metrics

list

Evaluation metrics used to judge the performance of the model

batch_size

String

Number of samples that are processed by the model during each training iteration

epochs*

String

Number of iterations through the dataset

add_dim

bool

Sets whether an extra dimension should be added to x train data

autoencoder

bool

Specifies whether to use x data as y data

{
    "status": "true",
    "message": {
        "id": 9,
        "project": 1,
        "block_id": 9,
        "parent_id": 8,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": {}
    }
}

Sample Request

Evaluate the accuracy and losses of a trained artificial neural network.

{
    "project_id": 1,
    "parent_id": 8,
    "block_id": 9,
    "function_code": "DL_ANN_E",
    "args": {
        "hyp_params": {
            "batch_size": 32
        }
    }
}

Evaluating an Artificial Neural Network

ANN Evaluating

POST

Request Body

NameTypeDescription

project_id*

int

The id of the current project

parent_id*

int

The id of the previous block

block_id*

int

The id of the current block

function_code*

String

Function code for the current block

args*

object

Block arguments

hyp_params*

object

hyper parameters for model evaluation

batch_size

int

Number of samples that are processed by the model during evaluation

{
    "status": "true",
    "message": {
        "id": 9,
        "project": 1,
        "block_id": 9,
        "parent_id": 8,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": {}
    }
}

Sample Request

Make predictions with the trained ANN model.

{
    "project_id": 1,
    "parent_id": 8,
    "block_id": 9,
    "function_code": "DL_ANN_P",
    "args": {
        "test_data": ""
    }
}

Predicting with an Artificial Neural Network

ANN Predict

POST https://autogon.ai/api/v1/engine/start

Request Body

NameTypeDescription

test_data

String

Input data for prediction Defaults to x_test_url

project_id*

int

ID of the current project

block_id*

int

ID of the current block

parent_id*

int

ID of the previous block

function_code*

String

Function code for the current block

args*

object

Block arguments

add_dim

bool

Sets whether an extra dimension should be added to x data

{
    "status": "true",
    "message": {
        "id": 9,
        "project": 1,
        "block_id": 9,
        "parent_id": 8,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": {}
    }
}

// Some code

Last updated