Skip to content
Snippets Groups Projects
Commit 661b554b authored by Tiago de Freitas Pereira's avatar Tiago de Freitas Pereira
Browse files

Machine workaround. This would avoid the bindings patch

parent 86393d58
No related branches found
No related tags found
1 merge request!11WIP: First attempt to approach the issue bob.bio.base#106
Pipeline #32574 failed
......@@ -4,6 +4,7 @@
from ._library import Machine as _Machine_C
import bob.learn.activation
import numpy
class Machine(_Machine_C):
......@@ -22,26 +23,29 @@ class Machine(_Machine_C):
output_dict["input_sub"] = self.input_subtract
output_dict["input_div"] = self.input_divide
output_dict["weights"] = self.weights
output_dict["activation"] = self.activation_py.to_dict()["id"]
output_dict["activation"] = bob.learn.activation.Activation.to_dict(self.activation)["id"]
output_dict["biases"] = self.biases
return output_dict
@classmethod
def from_dict(cls, input_dict):
"""
Loads itself from a python dict :py:class:`dict`
"""
machine = cls(input_dict["weights"])
machine.biases = input_dict["biases"]
machine.input_subtract = input_dict["input_sub"]
machine.input_divide = input_dict["input_div"]
machine = cls(numpy.array(input_dict["weights"], dtype="float"))
machine.biases = numpy.array(input_dict["biases"], dtype="float")
machine.input_subtract = numpy.array(input_dict["input_sub"], dtype="float")
machine.input_divide = numpy.array(input_dict["input_div"], dtype="float")
activation = bob.learn.activation.Activation.from_dict(
{"id": input_dict["activation"]}
)
machine.activation = activation
# TODO: Temporarily solution to load activation
machine.activation_py = activation
return machine
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment