Skip to content

使用python版本ncnn,加载模型和参数文件时,路径存在中文,抛出异常 #6410

@pangxiaobin

Description

@pangxiaobin

error log | 日志或报错信息 | ログ

fopen error

context | 编译/运行环境 | バックグラウンド

how to reproduce | 复现步骤 | 再現方法

  1. 使用windows 环境,安装环境, pip install ncnn
  2. 加载模型文件和参数,模型文件和参数路径包含中文

more | 其他 | その他

目前的解决方案,使用load_model_mem 和laod_param_mem

param_path = "D:/我的模型/中文路径/param.param"
model_path = "D:/我的模型/中文路径/model.bin"

net = ncnn.Net()

with open(param_path, 'rb') as f:
    param_data = f.read()

with open(model_path, 'rb') as f:
    model_data = f.read()

# 加载 .param
ret_param = net.load_param_mem(param_data)
if ret_param != 0:
    raise RuntimeError(f"从内存加载 .param 失败! 错误代码: {ret_param}")

# 加载 .bin
ret_model = net.load_model_mem(model_data)
if ret_model != None:
    raise RuntimeError(f"从内存加载 .bin 失败! 错误代码: {ret_model}")

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