JuliaAI/ScientificTypes.jl

Add implementation of `scitype` for "points on a manifold"

Opened this issue ยท 6 comments

The tentative suggestion is that scitype((p, M)) = ManifoldPoint{typeof(M)} whenever M isa Manifolds.Manifold.

Context:JuliaManifolds/ManifoldML.jl#3
Requires: #114

Specifically:

ST.scitype(::Tuple{Any,MT}) where MT<:ManifoldsBase.Manifold = ManifoldPoint{MT}

This is implemented on the manifolds branch. Look at these tests to get an idea of behaviour.

@mateuszbaran @kellertuer I propose you add MLJScientificTypes to your dev project and pin to the manifolds branch until we're sure this is the best approach. Yes?

I think that looks good and should work.

@mateuszbaran @kellertuer

Been a while. Here's an update from our end: The manifold branch referred to above is now part of an archived repo - a casualty of the renaming MLJScientificTypes -> ScientificTypes and ScientificTypes -> ScientificTypesBase. For the record the relevant commit is here:

JuliaAI/MLJScientificTypes.jl@4411140

And ManifoldPoint{MT} is already in ScientificTypesBase.

I can create a new PR if there is still interest to do some integration. What is the status of this at your end?

We would still be interested of course โ€“ I just got carried away from the ManifoldsML package due to a few features on Manifolds and moving to a new university/country.

Thanks for an update! I'm still interested in developing ManifoldsML further, it just happened that I don't currently need to apply traditional machine learning to manifold-valued data. I'm currently working towards continuous normalizing flows on manifolds because it's more relevant to one of the projects I'm currently working on.