ml.nn

NeuralNet and Layer Model definitions with common implementations

class tinychain.ml.nn.ConvLayer(*args, **kwargs)[source]

Bases: Layer, Dynamic

classmethod create(inputs_shape, filter_shape, stride=1, padding=1, activation=None, optimal_std=None)[source]

Create a new, empty ConvLayer with the given shape and activation function.

Args:
inputs_shape: size of inputs [c_i, h_i, w_i] where

c_i: number of channels, h_i: channel height, ‘w_i’: channel width;

filter_shape: size of filter [h_f, w_f, out_c] where

out_c: number of output channels, h_f: kernel height, ‘w_f`: kernel width;

activation: activation function

eval = <tinychain.reflect.stub.StateFunctionStub object>
class tinychain.ml.nn.DNN(*args, **kwargs)[source]

Bases: Sequential

classmethod create(schema)[source]

Create a new Sequential neural net of Linear layers.

schema should be a list of 2- or 3-tuples of the form (input_size, output_size, activation) (the arguments to Linear.create).

class tinychain.ml.nn.Layer(*args, **kwargs)[source]

Bases: Model, Differentiable

A Layer in a NeuralNet

gradient = <tinychain.reflect.stub.ReflectionStub object>
class tinychain.ml.nn.Linear(*args, **kwargs)[source]

Bases: Layer, Dynamic

classmethod create(input_size, output_size, activation=None, optimal_std=None)[source]
eval = <tinychain.reflect.stub.StateFunctionStub object>
class tinychain.ml.nn.NeuralNet(*args, **kwargs)[source]

Bases: Model, Differentiable

A neural network

class tinychain.ml.nn.ReflectedMethod(header, name, graph, sig, rtype)[source]

Bases: Post

class tinychain.ml.nn.Sequential(*args, **kwargs)[source]

Bases: NeuralNet, Dynamic

A sequence of Layer s

eval = <tinychain.reflect.stub.StateFunctionStub object>
gradient = <tinychain.reflect.stub.StateFunctionStub object>