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

mindspore/ccsrc/plugin/device/ascend/hal/device/ascend_device_address.cc:924 CopyDeviceToHost #1909

Open
zhaonx opened this issue Jan 15, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@zhaonx
Copy link

zhaonx commented Jan 15, 2025

Describe the bug/ 问题描述 (Mandatory / 必填)
A clear and concise description of what the bug is.
使用mindnlp调用bge-m3模型,部分报错
ERROR:root:An error occurred: The pointer[GetDevicePtr()] is null.


  • Framework Unexpected Exception Raised:

This exception is caused by framework's unexpected error. Please create an issue at https://gitee.com/mindspore/mindspore/issues to get help.


  • C++ Call Stack: (For framework developers)

mindspore/ccsrc/plugin/device/ascend/hal/device/ascend_device_address.cc:924 CopyDeviceToHost

from mindspore import ops
from mindnlp.transformers import AutoModel, AutoTokenizer

from mindspore.ops._primitive_cache import _get_cache_prim

import mindspore as ms

print(ms.device_context.ascend.is_available)

ms.context.set_context(device_target="Ascend",device_id=1)
import time
import numpy as np
import logging
from enum import Enum
from fastapi import FastAPI, HTTPException, Query, Request
from fastapi.middleware.cors import CORSMiddleware
from fastapi_offline import FastAPIOffline
from pydantic import BaseModel
from typing import List, Optional

logging.basicConfig(level=logging.ERROR)

app = FastAPIOffline()

app.add_middleware(
CORSMiddleware,
allow_origins=[""], # 允许的源列表,使用 [""] 可以允许所有源
allow_credentials=True, # 是否允许发送 Cookie
allow_methods=[""], # 允许的 HTTP 方法,如 ["GET", "POST"]
allow_headers=["
"], # 允许的 HTTP 请求头
)

def normalize_numpy(dense_vecs, axis=-1):
"""
Normalize a numpy array along the specified axis using L2 normalization.

Parameters:
dense_vecs (numpy.ndarray): The input array to be normalized.
axis (int): The axis along which to compute the L2 norm. Default is -1.

Returns:
numpy.ndarray: The L2-normalized array.
"""
# norms = np.linalg.norm(dense_vecs, ord=2, axis=axis, keepdims=True)
return dense_vecs / np.linalg.norm(dense_vecs, ord=2, axis=axis, keepdims=True)

tokenizer = AutoTokenizer.from_pretrained('liuyanyi/bge-m3-hf',cache_dir="./cache")

embedding_model = AutoModel.from_pretrained('liuyanyi/bge-m3-hf',cache_dir="./cache")

tokenizer = AutoTokenizer.from_pretrained('/work/cache/model/liuyanyi/bge-m3-hf')
embedding_model = AutoModel.from_pretrained('/work/cache/model/liuyanyi/bge-m3-hf')
@app.post("/embeddings")
def encode_texts(
texts: Texts,
task: Task = Task.text_matching,
truncate_dim: Optional[TruncateDim] = Query(default=None),
max_str_length: Optional[int] = Query(default=None)
):
try:
input_ids = tokenizer(texts.texts[0], return_tensors="ms", padding=True, truncation=True)
output = embedding_model(**input_ids, return_dict=True)
dense_output = normalize_numpy(output.dense_output[0].asnumpy())
return {"code": 200,"embeddings": [dense_output.tolist()] }
except Exception as e:
logging.error(f"An error occurred: {e}")
return {"code": 500,"message": str(e)}

  • Hardware Environment(Ascend/GPU/CPU) / 硬件环境:
  • Ascend 910b
    使用 swr.cn-central-221.ovaijisuan.com/mindformers/mindformers1.3_mindspore2.4:20241114镜像

Please delete the backend not involved / 请删除不涉及的后端:
/device ascend/GPU/CPU/kirin/等其他芯片

  • Software Environment / 软件环境 (Mandatory / 必填):
    -- MindSpore version (e.g., 1.7.0.Bxxx) :
    -- Python version (e.g., Python 3.7.5) :
    -- OS platform and distribution (e.g., Linux Ubuntu 16.04):
    -- GCC/Compiler version (if compiled from source):

  • Excute Mode / 执行模式 (Mandatory / 必填)(PyNative/Graph):

Please delete the mode not involved / 请删除不涉及的模式:
/mode pynative
/mode graph

To Reproduce / 重现步骤 (Mandatory / 必填)
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior / 预期结果 (Mandatory / 必填)
A clear and concise description of what you expected to happen.

Screenshots/ 日志 / 截图 (Mandatory / 必填)
If applicable, add screenshots to help explain your problem.

Additional context / 备注 (Optional / 选填)
Add any other context about the problem here.

@zhaonx zhaonx added the bug Something isn't working label Jan 15, 2025
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

1 participant