跳转到主要内容

ggml的Python绑定

项目描述

Python绑定的ggml

Documentation Status Tests PyPI PyPI - Python Version PyPI - License PyPI - Downloads

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 (1.4 MB 查看哈希值)

上传时间 源代码

支持