Hi, When I read a code snippet below, I find I don't know what 'self.framelogprob' is on the child class.
////// parent class class _BaseHMM(BaseEstimator): def __init__(self, n_components=1, startprob_prior=1.0, transmat_prior=1.0, algorithm="viterbi", random_state=None, n_iter=10, tol=1e-2, verbose=False, params=string.ascii_letters, init_params=string.ascii_letters): self.n_components = n_components ...... def score_samples(self, X, lengths=None): X = check_array(X) n_samples = X.shape[0] logprob = 0 posteriors = np.zeros((n_samples, self.n_components)) for i, j in iter_from_X_lengths(X, lengths): framelogprob = self._compute_log_likelihood(X[i:j]) ....... return logprob, posteriors ////// child class class StubHMM(_BaseHMM): def _compute_log_likelihood(self, X): return self.framelogprob ------------- On Python web, it says that things after dot, such as a class name, are attributes. From this definition, 'framelogprob' is an attribute. But when I run the command on Canopy: h.framelogprob --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-19-970ee2f3402c> in <module>() ----> 1 h.framelogprob AttributeError: 'StubHMM' object has no attribute 'framelogprob' it doesn't recognize it as an attribute. What is wrong with my understanding? Thanks, -- https://mail.python.org/mailman/listinfo/python-list