ModelInstance¶
-
class
menpofit.modelinstance.
ModelInstance
(model)[source]¶ Bases:
Targetable
,Vectorizable
,DP
Base class for creating a model that can produce a target menpo.shape.PointCloud and knows how to compute its own derivative with respect to its parametrisation.
- Parameters
model (class) – The trained model (e.g. menpo.model.PCAModel).
-
as_vector
(**kwargs)¶ Returns a flattened representation of the object as a single vector.
- Returns
vector ((N,) ndarray) – The core representation of the object, flattened into a single vector. Note that this is always a view back on to the original object, but is not writable.
-
copy
()¶ Generate an efficient copy of this object.
Note that Numpy arrays and other Copyable objects on
self
will be deeply copied. Dictionaries and sets will be shallow copied, and everything else will be assigned (no copy will be made).Classes that store state other than numpy arrays and immutable types should overwrite this method to ensure all state is copied.
- Returns
type(self)
– A copy of this object
-
abstract
d_dp
(points)¶ The derivative of this spatial object with respect to the parametrisation changes evaluated at points.
- Parameters
points (
(n_points, n_dims)
ndarray) – The spatial points at which the derivative should be evaluated.- Returns
d_dp (
(n_points, n_parameters, n_dims)
ndarray) – The Jacobian with respect to the parametrisation.d_dp[i, j, k]
is the scalar differential change that thek
’th dimension of thei
’th point experiences due to a first order change in thej
’th scalar in the parametrisation vector.
-
from_vector
(vector)¶ Build a new instance of the object from it’s vectorized state.
self
is used to fill out the missing state required to rebuild a full object from it’s standardized flattened state. This is the default implementation, which is which is adeepcopy
of the object followed by a call tofrom_vector_inplace()
. This method can be overridden for a performance benefit if desired.- Parameters
vector (
(n_parameters,)
ndarray) – Flattened representation of the object.- Returns
object (
type(self)
) – An new instance of this class.
-
from_vector_inplace
(vector)¶ Deprecated. Use the non-mutating API, from_vector.
For internal usage in performance-sensitive spots, see _from_vector_inplace()
- Parameters
vector (
(n_parameters,)
ndarray) – Flattened representation of this object
-
has_nan_values
()¶ Tests if the vectorized form of the object contains
nan
values or not. This is particularly useful for objects with unknown values that have been mapped tonan
values.- Returns
has_nan_values (bool) – If the vectorized object contains
nan
values.
-
set_target
(new_target)¶ Update this object so that it attempts to recreate the
new_target
.- Parameters
new_target (PointCloud) – The new target that this object should try and regenerate.
-
property
n_parameters
¶ The length of the vector that this object produces.
- Type
int
-
property
n_weights
¶ The number of parameters in the linear model.
- Type
int
-
property
target
¶ The current menpo.shape.PointCloud that this object produces.
- Type
menpo.shape.PointCloud
-
property
weights
¶ The weights of the model.
- Type
(n_weights,)
ndarray