これはなに?
ある日突然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
短いですが、以上です。