Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python init_database.py --recreate-vs提示CUDA没有启用 #3043

Closed
cq134cq opened this issue Feb 22, 2024 · 7 comments
Closed

python init_database.py --recreate-vs提示CUDA没有启用 #3043

cq134cq opened this issue Feb 22, 2024 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@cq134cq
Copy link

cq134cq commented Feb 22, 2024

问题描述 / Problem Description
用简洁明了的语言描述这个问题 / Describe the problem in a clear and concise manner.

复现问题的步骤 / Steps to Reproduce

  1. 执行 '...' / Run '...'
  2. 点击 '...' / Click '...'
  3. 滚动到 '...' / Scroll to '...'
  4. 问题出现 / Problem occurs

预期的结果 / Expected Result
描述应该出现的结果 / Describe the expected result.

实际结果 / Actual Result
描述实际发生的结果 / Describe the actual result.

环境信息 / Environment Information

langchain-ChatGLM 版本/commit 号:0.2.10

是否使用 Docker 部署(是/否):no

使用的模型(ChatGLM2-6B / Qwen-7B 等):ChatGLM3-6B

使用的 Embedding 模型(moka-ai/m3e-base 等):bge-large-zh

使用的向量库类型 (faiss / milvus / pg_vector 等): faiss / Vector library used (faiss, milvus, pg_vector, etc.): faiss

操作系统及版本 / Operating system and version:win11

Python 版本 / Python version:3.10

附加信息 / Additional Information
添加与问题相关的任何其他信息 / Add any other information related to the issue.
C:\soft\lc>python init_database.py --create-tables
总计用时: 0:00:00.002004

C:\soft\lc>python init_database.py --recreate-vs
recreating all vector stores
2024-02-22 14:08:20,241 - faiss_cache.py[line:92] - INFO: loading vector store in 'samples/vector_store/bge-large-zh' from disk.
2024-02-22 14:08:20,607 - SentenceTransformer.py[line:66] - INFO: Load pretrained SentenceTransformer: BAAI\bge-large-zh
2024-02-22 14:08:21,697 - embeddings_api.py[line:39] - ERROR: Torch not compiled with CUDA enabled
AttributeError: 'NoneType' object has no attribute 'conjugate'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "C:\soft\lc\init_database.py", line 107, in
folder2db(kb_names=args.kb_name, mode="recreate_vs", embed_model=args.embed_model)
File "C:\soft\lc\server\knowledge_base\migrate.py", line 126, in folder2db
kb.create_kb()
File "C:\soft\lc\server\knowledge_base\kb_service\base.py", line 80, in create_kb
self.do_create_kb()
File "C:\soft\lc\server\knowledge_base\kb_service\faiss_kb_service.py", line 51, in do_create_kb
self.load_vector_store()
File "C:\soft\lc\server\knowledge_base\kb_service\faiss_kb_service.py", line 28, in load_vector_store
return kb_faiss_pool.load_vector_store(kb_name=self.kb_name,
File "C:\soft\lc\server\knowledge_base\kb_cache\faiss_cache.py", line 102, in load_vector_store
vector_store = self.new_vector_store(embed_model=embed_model, embed_device=embed_device)
File "C:\soft\lc\server\knowledge_base\kb_cache\faiss_cache.py", line 60, in new_vector_store
vector_store = FAISS.from_documents([doc], embeddings, normalize_L2=True,distance_strategy="METRIC_INNER_PRODUCT")
File "C:\soft\lc\lib\site-packages\langchain_core\vectorstores.py", line 508, in from_documents
return cls.from_texts(texts, embedding, metadatas=metadatas, **kwargs)
File "C:\soft\lc\lib\site-packages\langchain_community\vectorstores\faiss.py", line 959, in from_texts
embeddings = embedding.embed_documents(texts)
File "C:\soft\lc\server\knowledge_base\kb_service\base.py", line 420, in embed_documents
return normalize(embeddings).tolist()
File "C:\soft\lc\server\knowledge_base\kb_service\base.py", line 37, in normalize
norm = np.linalg.norm(embeddings, axis=1)
File "<array_function internals>", line 200, in norm
File "C:\soft\lc\lib\site-packages\numpy\linalg\linalg.py", line 2541, in norm
s = (x.conj() * x).real
TypeError: loop of ufunc does not support argument 0 of type NoneType which has no callable conjugate method

python init_database.py --recreate-vs提示CUDA没有启用

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

C:\soft\lc>pip show torch
Name: torch
Version: 2.1.2
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email: packages@pytorch.org
License: BSD-3
Location: C:\Users\sync\AppData\Roaming\Python\Python311\site-packages
Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions
Required-by: accelerate, effdet, sentence-transformers, timm, torchaudio, torchvision, xformers

@cq134cq cq134cq added the bug Something isn't working label Feb 22, 2024
Copy link

dosubot bot commented Feb 22, 2024

🤖

嘿,@cq134cq!很高兴再次看到你在这里提问。希望你最近一切都好!

根据您提供的信息,您在运行 python init_database.py --recreate-vs 时遇到了 "CUDA not enabled" 的错误,尽管您已经安装了 CUDA 11.8 和 PyTorch 2.1.2。这个问题可能是由于您的 CUDA 版本和 PyTorch 版本之间的兼容性问题。

首先,我注意到您提到的 PyTorch 版本是 2.1.2,但是这个版本并不存在。目前 PyTorch 的最新版本是 1.10.0。如果您的意思是 PyTorch 1.2.0,那么这个版本是不支持 CUDA 11.8 的,PyTorch 1.2.0 支持的是 CUDA 10.0。

为了解决这个问题,您需要安装一个与 CUDA 11.8 兼容的 PyTorch 版本。您可以参考 PyTorch 官网的兼容性矩阵。安装了兼容的 PyTorch 版本后,您应该就能够正常运行命令,而不会出现 "CUDA not enabled" 的错误了。

如果问题仍然存在,您可以在配置文件中手动将 EMBEDDING_DEVICELLM_DEVICE 设置为 "cuda":

EMBEDDING_DEVICE = "cuda"
LLM_DEVICE = "cuda"

这将强制程序使用 CUDA 来运行模型。如果 CUDA 已经正确安装并且与您的 PyTorch 版本兼容,这应该可以解决错误。

另外,我在 Langchain-Chatchat 仓库中找到了一些类似的已解决问题,可能对您有所帮助:

  1. AssertionError: Torch not compiled with CUDA enabled
  2. 初始化不成功,请指导
  3. [BUG] Torch 无法激活CUDA

这些问题的解决方案都建议检查 PyTorch 和 CUDA 的版本,并根据 PyTorch 提供的兼容性表进行匹配。可能需要降级您的 PyTorch 版本以匹配您的 CUDA 版本。例如,如果您有 CUDA 11.8,可以尝试使用以下命令安装 PyTorch 2.1.1 版本:

pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118

希望这些信息对您有所帮助。如果问题仍然存在,或者您有其他问题,欢迎随时向我提问。

Sources

About Dosu

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

@zRzRzRzRzRzRzR zRzRzRzRzRzRzR self-assigned this Feb 22, 2024
@zRzRzRzRzRzRzR
Copy link
Collaborator

这个是你配置没对吧,这个没找到文件

@cq134cq
Copy link
Author

cq134cq commented Feb 22, 2024

这个没找到文件

没找到什么文件?

@cq134cq
Copy link
Author

cq134cq commented Feb 22, 2024

这个没找到文件

没找到什么文件?

我试过,如改成CPU是正常的

@zRzRzRzRzRzRzR
Copy link
Collaborator

cuda 的配置是对的么,torch 和 cuda,这个报错能导致的原因太多了

@cq134cq
Copy link
Author

cq134cq commented Feb 23, 2024

🤖

嘿,@cq134cq!很高兴再次看到你在这里提问。希望你最近一切都好!

根据您提供的信息,您在运行 python init_database.py --recreate-vs 时遇到了 "CUDA not enabled" 的错误,尽管您已经安装了 CUDA 11.8 和 PyTorch 2.1.2。这个问题可能是由于您的 CUDA 版本和 PyTorch 版本之间的兼容性问题。

首先,我注意到您提到的 PyTorch 版本是 2.1.2,但是这个版本并不存在。目前 PyTorch 的最新版本是 1.10.0。如果您的意思是 PyTorch 1.2.0,那么这个版本是不支持 CUDA 11.8 的,PyTorch 1.2.0 支持的是 CUDA 10.0。

为了解决这个问题,您需要安装一个与 CUDA 11.8 兼容的 PyTorch 版本。您可以参考 PyTorch 官网的兼容性矩阵。安装了兼容的 PyTorch 版本后,您应该就能够正常运行命令,而不会出现 "CUDA not enabled" 的错误了。

如果问题仍然存在,您可以在配置文件中手动将 EMBEDDING_DEVICELLM_DEVICE 设置为 "cuda":

EMBEDDING_DEVICE = "cuda"
LLM_DEVICE = "cuda"

这将强制程序使用 CUDA 来运行模型。如果 CUDA 已经正确安装并且与您的 PyTorch 版本兼容,这应该可以解决错误。

另外,我在 Langchain-Chatchat 仓库中找到了一些类似的已解决问题,可能对您有所帮助:

  1. AssertionError: Torch not compiled with CUDA enabled
  2. 初始化不成功,请指导
  3. [BUG] Torch 无法激活CUDA

这些问题的解决方案都建议检查 PyTorch 和 CUDA 的版本,并根据 PyTorch 提供的兼容性表进行匹配。可能需要降级您的 PyTorch 版本以匹配您的 CUDA 版本。例如,如果您有 CUDA 11.8,可以尝试使用以下命令安装 PyTorch 2.1.1 版本:

pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118

希望这些信息对您有所帮助。如果问题仍然存在,或者您有其他问题,欢迎随时向我提问。

Sources

About Dosu

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

谢谢,用这个命令可以
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118

@cq134cq
Copy link
Author

cq134cq commented Feb 23, 2024

orch 和

是这个问题,谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants