RobinKa / tfga

Python package for Geometric / Clifford Algebra with TensorFlow
MIT License
48 stars 7 forks source link

Made Keras layers serializable #17

Closed RobinKa closed 4 years ago

RobinKa commented 4 years ago

Relevant issue: https://github.com/RobinKa/tfga/issues/9

ga = GeometricAlgebra([1, 1])
s_indices = [0]
v_indices = [1, 2]
mv_indices = tf.range(ga.num_blades)

model = tf.keras.Sequential([
    TensorToGeometric(ga, blade_indices=v_indices),
    GeometricProductDense(
        ga, units=64, activation="relu",
        blade_indices_kernel=mv_indices,
        blade_indices_bias=mv_indices,
    ),
    GeometricProductDense(
        ga, units=64, activation="relu",
        blade_indices_kernel=mv_indices,
        blade_indices_bias=mv_indices,
    ),
    GeometricProductDense(
        ga, units=1,
        blade_indices_kernel=mv_indices,
        blade_indices_bias=s_indices,
    ),
    GeometricToTensor(ga, blade_indices=s_indices)
])
...
model.save_model("model.h5")
...
tf.keras.models.load_model("model.h5")

image