weaviate / t2v-transformers-models

This is the repo for the container that holds the models for the text2vec-transformers module
BSD 3-Clause "New" or "Revised" License
40 stars 27 forks source link

Docker-compose and GPU issue #3

Closed bobvanluijt closed 3 years ago

bobvanluijt commented 3 years ago

The following installation guide installs CUDA on Debian and for Docker Compose: https://github.com/semi-technologies/DEMO-NewsPublications/tree/GPU#running-with-gpu-and-compose-debian

This can also be validated by running this compose file: https://docs.docker.com/compose/gpu-support/#enabling-gpu-access-to-service-containers

However, I've updated the docker-compose.yml file for Weaviate: https://github.com/semi-technologies/DEMO-NewsPublications/blob/GPU/docker-compose.yml#L19-L23 but unfortunately, this results in the following error:

t2v-transformers_1  | [INFO] cuda core set to cuda:0
t2v-transformers_1  | Traceback (most recent call last):
t2v-transformers_1  |   File "/usr/local/bin/uvicorn", line 8, in <module>
t2v-transformers_1  |     sys.exit(main())
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 829, in __call__
t2v-transformers_1  |     return self.main(*args, **kwargs)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 782, in main
t2v-transformers_1  |     rv = self.invoke(ctx)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
t2v-transformers_1  |     return ctx.invoke(self.callback, **ctx.params)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 610, in invoke
t2v-transformers_1  |     return callback(*args, **kwargs)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/main.py", line 362, in main
t2v-transformers_1  |     run(**kwargs)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/main.py", line 386, in run
t2v-transformers_1  |     server.run()
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/server.py", line 48, in run
t2v-transformers_1  |     loop.run_until_complete(self.serve(sockets=sockets))
t2v-transformers_1  |   File "/usr/local/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
t2v-transformers_1  |     return future.result()
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/server.py", line 55, in serve
t2v-transformers_1  |     config.load()
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/config.py", line 308, in load
t2v-transformers_1  |     self.loaded_app = import_from_string(self.app)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/uvicorn/importer.py", line 20, in import_from_string
t2v-transformers_1  |     module = importlib.import_module(module_str)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
t2v-transformers_1  |     return _bootstrap._gcd_import(name[level:], package, level)
t2v-transformers_1  |   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
t2v-transformers_1  |   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
t2v-transformers_1  |   File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
t2v-transformers_1  |   File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
t2v-transformers_1  |   File "<frozen importlib._bootstrap_external>", line 790, in exec_module
t2v-transformers_1  |   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
t2v-transformers_1  |   File "./app.py", line 19, in <module>
t2v-transformers_1  |     vec = Vectorizer('./models/model', cuda_support, cuda_core)
t2v-transformers_1  |   File "./vectorizer.py", line 33, in __init__
t2v-transformers_1  |     self.model.to(self.cuda_core)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/torch/nn/modules/module.py", line 612, in to
t2v-transformers_1  |     return self._apply(convert)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/torch/nn/modules/module.py", line 359, in _apply
t2v-transformers_1  |     module._apply(fn)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/torch/nn/modules/module.py", line 359, in _apply
t2v-transformers_1  |     module._apply(fn)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/torch/nn/modules/module.py", line 381, in _apply
t2v-transformers_1  |     param_applied = fn(param)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/torch/nn/modules/module.py", line 610, in convert
t2v-transformers_1  |     return t.to(device, dtype if t.is_floating_point() else None, non_blocking)
t2v-transformers_1  |   File "/usr/local/lib/python3.9/site-packages/torch/cuda/__init__.py", line 172, in _lazy_init
t2v-transformers_1  |     torch._C._cuda_init()
t2v-transformers_1  | RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU
 and installed a driver from http://www.nvidia.com/Download/index.aspx
demo-newspublications_t2v-transformers_1 exited with code 1
bobvanluijt commented 3 years ago

CC: @etiennedi

bobvanluijt commented 3 years ago

Solved