ggml的Python绑定
项目描述
Python绑定的ggml
Python绑定的用于机器学习的ggml
张量库。
⚠️ 此项目及
ggml
目前不保证向后兼容性,如果您在其他应用程序中使用此库,强烈建议在requirements.txt
文件中指定特定版本。
文档
安装
要求
- Python 3.8+
- C编译器(gcc、clang、msvc等)
您可以使用 pip
安装 ggml-python
pip install ggml-python
这将使用cmake编译ggml,这需要在您的系统上安装C编译器。要使用特定功能(例如OpenBLAS、GPU支持等)构建ggml,您可以通过 cmake.args
pip安装配置设置传递特定的cmake选项。例如,要使用cuBLAS支持安装ggml-python,您可以运行
pip install --upgrade pip
pip install ggml-python --config-settings=cmake.args='-DGGML_CUDA=ON'
选项
选项 | 描述 | 默认 |
---|---|---|
GGML_CUDA |
启用cuBLAS支持 | 关闭 |
GGML_CLBLAST |
启用CLBlast支持 | 关闭 |
GGML_OPENBLAS |
启用OpenBLAS支持 | 关闭 |
GGML_METAL |
启用Metal支持 | 关闭 |
用法
import ggml
import ctypes
# Allocate a new context with 16 MB of memory
params = ggml.ggml_init_params(mem_size=16 * 1024 * 1024, mem_buffer=None)
ctx = ggml.ggml_init(params)
# Instantiate tensors
x = ggml.ggml_new_tensor_1d(ctx, ggml.GGML_TYPE_F32, 1)
a = ggml.ggml_new_tensor_1d(ctx, ggml.GGML_TYPE_F32, 1)
b = ggml.ggml_new_tensor_1d(ctx, ggml.GGML_TYPE_F32, 1)
# Use ggml operations to build a computational graph
x2 = ggml.ggml_mul(ctx, x, x)
f = ggml.ggml_add(ctx, ggml.ggml_mul(ctx, a, x2), b)
gf = ggml.ggml_new_graph(ctx)
ggml.ggml_build_forward_expand(gf, f)
# Set the input values
ggml.ggml_set_f32(x, 2.0)
ggml.ggml_set_f32(a, 3.0)
ggml.ggml_set_f32(b, 4.0)
# Compute the graph
ggml.ggml_graph_compute_with_ctx(ctx, gf, 1)
# Get the output value
output = ggml.ggml_get_f32_1d(f, 0)
assert output == 16.0
# Free the context
ggml.ggml_free(ctx)
故障排除
如果您在安装 ggml-python
或激活特定功能时遇到问题,请尝试使用 --verbose
和 --no-cache-dir
标志安装,以获取有关任何问题的更多信息
pip install ggml-python --verbose --no-cache-dir --force-reinstall --upgrade
许可证
此项目根据MIT许可证的条款提供。
项目详情
关闭
ggml_python-0.0.37.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5b2c792619b5c84d0f09ab64137955a5d267ffc17144916fec1d38408a967df0 |
|
MD5 | bbee2f78f1ff06b4ae1635b2501f6f9b |
|
BLAKE2b-256 | ec6ea3e67f0fca59c8b8b57bbd87172d47ffc8c42dcf0a3a651e6e81331d1dc1 |