ImportError: невозможно импортировать имя «distribute_covar_matrix_to_match_covariance_type»

Я пытаюсь запустить код из учебника hmmlearn, но получаю ошибка импорта из удаленного метода «distribute_covar_matrix_to_match_covariance_type». Я не знаю, как установить версию hmmlearn в Anaconda, которая не вызывает этой проблемы.

Я запускаю это в Windows 10 с помощью:

  • (название, версия, сборка, канал)
  • hmmlearn, 0.3.0b, np112py36_0, омния
  • научное обучение, 0.20.1, py36hb854c30_0
  • питон, 3.6.8, h9f7ef89_7

Я установил hmmlearn и scikit-learn через Anaconda с помощью этой команды: conda install -c omnia hmmlearn.

Мне кажется, что hmmlearn, установленный через Anaconda, не является последней версией hmmlearn, потому что в файле hmm.py есть эта строка from sklearn.mixture import ( distribute_covar_matrix_to_match_covariance_type, _validate_covars ). Сравнение с последней версией hmmlearn

В объединенном scikit-learn, который устанавливается вместе с hmmlearn в Anaconda, методdistribute_covar_matrix_to_match_covariance_type удален, как и должно быть в scikit-learn 0.20.1. (Он был удален в версии 0.20. )

from hmmlearn import hmm
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-19-16c29f744bfe> in <module>
----> 1 from hmmlearn import hmm

~\Documents\Anaconda\lib\site-packages\hmmlearn\hmm.py in <module>
     14 from scipy.misc import logsumexp
     15 from sklearn import cluster
---> 16 from sklearn.mixture import (
     17     distribute_covar_matrix_to_match_covariance_type, _validate_covars
     18 )

ImportError: cannot import name 'distribute_covar_matrix_to_match_covariance_type'

Похоже, проблема в том, что Anaconda устанавливает несовместимые версии hmmlearn и scikit-learn. Любые предложения о том, как я могу установить совместимые версии этих пакетов?


person Harreboy    schedule 05.04.2019    source источник
comment
Последняя версия, согласно документам и pypi, кажется 0.2.1. Я не уверен, что такое версия 0.3.0b. omnia кажется пользовательским каналом. Вы всегда должны сначала попытаться установить с официальных каналов анаконды. Если нет, выберите conda-forge. Версия hmmlearn, доступная в conda-forge, — 0.2.1. anaconda.org/conda-forge/hmmlearn   -  person Vivek Kumar    schedule 05.04.2019
comment
Спасибо @VivekKumar. Это сработало после того, как я установил его через conda-forge с помощью команды conda install -c conda-forge hmmlearn   -  person Harreboy    schedule 05.04.2019


Ответы (1)


От @Vivek Kumar беги conda install -c conda-forge hmmlearn

Если это не сработает, удалите hmmlearn с помощью

conda remove hmmlearn

затем переустановите с помощью pip

pip install --upgrade --user hmmlearn

person Kenan    schedule 28.09.2020