Example #1
0
def train(algorithm, args):
    if algorithm == "mc_svm":
        # create multiclass SVM model
        return MultiSVM()
    elif algorithm == "struct_svm":
        return StructuredSVM(args.iterations)
    elif algorithm == "quad_kernel":
        return StructuredSVM(lambda_fn=lambda x, y: x.dot(y)**2)
    elif algorithm == "rbf_kernel":
        return StructuredSVM(lambda_fn=lambda x, y: math.e**
                             (-np.linalg.norm(x - y)**2 / (2000)))
    elif algorithm == "cnn":
        # train a neural network
        nn = CNN((128, 128, 3))
        nn.add_convolution_layer(nodes=32, size=(3, 3))
        nn.add_relu_layer()
        nn.add_pool_layer(shape=(1, 1, 2))
        nn.add_convolution_layer(nodes=1, size=(3, 3))
        nn.add_fc_output_layer(nodes=6)
        return nn
    return None