Skip to content
This repository was archived by the owner on Jan 31, 2022. It is now read-only.
This repository was archived by the owner on Jan 31, 2022. It is now read-only.

[label bot] keras requires TensorFlow 2.2 or higher #150

@jlewi

Description

@jlewi

I just rebuilt the docker image for label bot worker and when I ran the newly built docker image I started seeing these exceptions

Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/py/label_microservice/worker.py", line 476, in <module>
    fire.Fire(Worker)
  File "/usr/local/lib/python3.6/dist-packages/fire/core.py", line 127, in Fire
    component_trace = _Fire(component, args, context, name)
  File "/usr/local/lib/python3.6/dist-packages/fire/core.py", line 366, in _Fire
    component, remaining_args)
  File "/usr/local/lib/python3.6/dist-packages/fire/core.py", line 542, in _CallCallable
    result = fn(*varargs, **kwargs)
  File "/py/label_microservice/worker.py", line 84, in subscribe_from_env
    worker.subscribe()
  File "/py/label_microservice/worker.py", line 245, in subscribe
    logging.info(future.result())
  File "/usr/local/lib/python3.6/dist-packages/google/cloud/pubsub_v1/futures.py", line 107, in result
    raise err
  File "/usr/local/lib/python3.6/dist-packages/google/cloud/pubsub_v1/subscriber/_protocol/streaming_pull_manager.py", line 70, in _wrap_callback_errors
    callback(message)
  File "/py/label_microservice/worker.py", line 145, in callback
    self._predictor = issue_label_predictor.IssueLabelPredictor()
  File "/py/label_microservice/issue_label_predictor.py", line 50, in __init__
    self._load_models()
  File "/py/label_microservice/issue_label_predictor.py", line 61, in _load_models
    self._models[UNIVERSAL_MODEL_NAME] = universal_model.UniversalKindLabelModel()
  File "/py/label_microservice/universal_kind_label_model.py", line 35, in __init__
    self.title_pp = dpickle.load(f)
  File "/usr/local/lib/python3.6/dist-packages/dill/_dill.py", line 270, in load
    return Unpickler(file, ignore=ignore, **kwds).load()
  File "/usr/local/lib/python3.6/dist-packages/dill/_dill.py", line 473, in load
    obj = StockUnpickler.load(self)
  File "/usr/local/lib/python3.6/dist-packages/dill/_dill.py", line 463, in find_class
    return StockUnpickler.find_class(self, module, name)
  File "/usr/local/lib/python3.6/dist-packages/ktext/preprocess.py", line 10, in <module>
    from keras.preprocessing.sequence import pad_sequences
  File "/usr/local/lib/python3.6/dist-packages/keras/__init__.py", line 6, in <module>
    'Keras requires TensorFlow 2.2 or higher. '
ImportError: Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow`

It looks like our requirements.txt files and Dockerfile pin TensorFlow but not keras. I suspect the ktext installation is pulling in Keras and so we started pulling in a newer version of Keras

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions