RAMjET

ramjet.models.eos

Module Contents

Classes

Eos Model groups layers into an object with training and inference features.
class Eos[source]

Bases: tensorflow.keras.Model

Model groups layers into an object with training and inference features.

Parameters:
  • inputs – The input(s) of the model: a keras.Input object or list of keras.Input objects.
  • outputs – The output(s) of the model. See Functional API example below.
  • name – String, the name of the model.

There are two ways to instantiate a Model:

1 - With the “Functional API”, where you start from Input, you chain layer calls to specify the model’s forward pass, and finally you create your model from inputs and outputs:

```python import tensorflow as tf

inputs = tf.keras.Input(shape=(3,)) x = tf.keras.layers.Dense(4, activation=tf.nn.relu)(inputs) outputs = tf.keras.layers.Dense(5, activation=tf.nn.softmax)(x) model = tf.keras.Model(inputs=inputs, outputs=outputs) ```

2 - By subclassing the Model class: in that case, you should define your layers in __init__ and you should implement the model’s forward pass in call.

```python import tensorflow as tf

class MyModel(tf.keras.Model):

def __init__(self):
super(MyModel, self).__init__() self.dense1 = tf.keras.layers.Dense(4, activation=tf.nn.relu) self.dense2 = tf.keras.layers.Dense(5, activation=tf.nn.softmax)
def call(self, inputs):
x = self.dense1(inputs) return self.dense2(x)

model = MyModel() ```

If you subclass Model, you can optionally have a training argument (boolean) in call, which you can use to specify a different behavior in training and inference:

```python import tensorflow as tf

class MyModel(tf.keras.Model):

def __init__(self):
super(MyModel, self).__init__() self.dense1 = tf.keras.layers.Dense(4, activation=tf.nn.relu) self.dense2 = tf.keras.layers.Dense(5, activation=tf.nn.softmax) self.dropout = tf.keras.layers.Dropout(0.5)
def call(self, inputs, training=False):

x = self.dense1(inputs) if training:

x = self.dropout(x, training=training)

return self.dense2(x)

model = MyModel() ```

Once the model is created, you can config the model with losses and metrics with model.compile(), train the model with model.fit(), or use the model to do prediction with model.predict().

__init__(self)[source]

Initialize self. See help(type(self)) for accurate signature.

call(self, inputs, training=False, mask=None)[source]

The forward pass of the layer.

Parameters:
  • inputs – The input tensor.
  • training – A boolean specifying if the layer should be in training mode.
  • mask – A mask for the input tensor.
Returns:

The output tensor of the layer.