雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

Universal Sentence Encoderで発生した 「inheritable_header」 エラーの対処法

これはなに?

ある日突然Dartabricks上でuniversal sentence encoderが動作しなくなり試行錯誤して対処したので、対処法を備忘録として残します。

エラー内容

以下のエラーが発生し、Databricksを再起動しても何をしても解消されない状態でした。

module 'tensorflow.tools.docs.doc_controls' has no attribute 'inheritable_header'

原因

ちょうど同様の問題に対応している記事があり読んでみるととestimatorモジュールの最新版の不具合が原因のようです。

https://issueexplorer.com/issue/tensorflow/tensorflow/52883

The expected behavior is the output of the tensorflowjs_wizard command as documented here
The error seems to have been caused by inheritable_header which is called from tensorflow_estimator.python.estimator as seen by log above. This commit shows, that the call from the estimator module was recently added with the 2.7.0 version which released yesterday.

対応方法

tensorflow-estimator を2.7.0から2.6.0にダウングレードすることで現象を解消することができました。

pip install --upgrade tensorflow-estimator==2.6.0

短いですが、以上です。