再現
import evalml
根本的な原因
get_importable_subclasses
はすべてのコンポーネントを初期化しようとしますget_importable_subclasses
を使用して推定量とコンポーネントの静的リストを生成するため、これはインポート時に実行されますインポート時に警告が発生しないように、できる限りのことを行う必要があるようです。
修正のアイデア
get_importable_subclasses
によって生成されたリストを、インポート時ではなく実行時に生成されるように更新します。 つまり、コンポーネントutilsdef _all_estimators():
return get_importable_subclasses(Estimator, used_in_automl=False)
...
TextFeaturizer
を更新します。 警告がないことを確認するために単体テストを追加します。get_importable_subclasses
を更新して、コンポーネントの初期化による警告を抑制します項目1と2を実行することをお勧めします。
#1022がマージされたとき、実行時の警告は削除されました。 ただし、まだ次の警告が表示されます。
2020-08-11 12:17:34,559 featuretools - WARNING Featuretools failed to load plugin nlp_primitives from library nlp_primitives. For a full stack trace, set logging to debug.
@dsherry上記のように、項目1と2を実行するためにPRを設定しますが、 @ eccabayから、この警告は私たちの側からのものではないことが通知されました。
@rwedgeと
ベータpip依存関係リゾルバーを使用する
featuretoolsは、テンソルフローをオプションにするプロセスにあり、EOD8 / 12/2020までに実行できます。
新しいfeaturetoolsのリリースを待ち、警告がまだ問題であるかどうかを確認することをお勧めします。
ありがとう@jeremyliweishih ! ここでのオプション2は、featuretoolsの警告を処理するのに最適であることに同意します。
それはさておき、先週の私のコメントから、あなたは現在オプション1と2に取り組んでいると理解していますよね? これらの変更の両方、特に最初の変更は、ここで付加価値をもたらすと思います。
nlp-primitives 1.0がpypiにリリースされ、テンソルフローは必須の依存関係ではなくなりました
最新バージョンのnlp-primitives
では警告が表示されないことを確認しました。 ありがとう@rwedge! こちらで確認でき
素晴らしい、両方に感謝します!
最も参考になるコメント
nlp-primitives 1.0がpypiにリリースされ、テンソルフローは必須の依存関係ではなくなりました