构造器
importObject 也可以是 LibraryProvider 对象、WASI 对象或包含 wasmLibraryProvider 字段的对象。
当目标为浏览器时,请使用异步版本 instantiate。
输入模块或实例。
如果未提供 wasmInstance,则用于初始化它的导入。
Optional (可选)
wasmInstance (wasm实例): Instance用于延迟构造的附加 wasm 实例参数。
Optional (可选)
env (环境): Environment直接指定的环境模块。
对 logits 应用带温度的 softmax。
softmax 温度前的输入 logits。
温度因子。
尽可能异步加载 webgpu 管线。
输入模块。
将分离的对象附加到当前作用域的自动释放池。
通常用户不需要显式调用此函数,因为所有库调用返回值都显式附加到当前作用域。只有在调用 detachFromCurrentScope 创建分离对象时才需要这样做。
输入对象。
对运行函数进行稳定的基准测试执行。
run 运行函数
dev 每次运行时同步的设备。
计算平均值的次数。
重复运行的次数。
使用给定设备设置虚拟机模块。
创建的虚拟机。
将对象从当前作用域分离,使其不会在 endscope 期间通过自动释放机制释放。
用户需要显式调用 obj.dispose(),或者 attachToCurrentScope 重新附加到当前作用域。
此函数可用于将值返回到父作用域。
obj: unknown 要分离的对象。
结束一个作用域并释放当前作用域下创建的所有 TVM 对象。
例外:可以调用 moveToParentScope 将值移动到父作用域。
给定 cacheUrl,根据 cacheUrl/ndarray-cache.json 查找要获取的项。
缓存 url。
要获取到的设备。
缓存的作用域标识符
缓存的类型:"cache" 或 "indexedDB"
可选
signal: AbortSignal一个可选的 AbortSignal,用于中止获取操作
元数据
从运行时获取全局 PackedFunc。
函数的名称。
结果函数。
创建一个元组 TVMArray 输入数组。
输入数组可以传递给 tvm 运行时函数,并且需要显式释放。
输入数组
结果数组。
将 obj 的附件移动到父作用域。
此函数在退出当前作用域时,用于确保对象仍然存活。
obj: unknown 要移动的对象。
输入对象。
清除 ndarray 缓存。
name: string 数组的名称。
内容。
函数的名称。
func: FObjectConstructor
override: boolean = false
通过 top-p 采样方法采样索引。
logits: number[] 归一化之前的输入 logits。
temperature: number 温度因子,如果 temperature = 0.0 将使用 argmax。
top_p 值
采样的索引。
通过 top-p 采样方法采样索引。
分布,即执行 applySoftmaxWithTemperature()
后的 logits。
top_p 值
采样的索引。
将打包函数参数设置到 argsValue 和 argsCode 指示的位置。如果需要,从堆栈分配新的临时空间。
stack 调用堆栈
输入参数。
argsValue 的偏移量。
argsCode 的偏移量。
在画布中显示图像。
GPU 上的高度 x 宽度 uint32 NDArray RGBA 格式的图像数组。
将 dtype 转换为 DLDataType
输入的 dtype 字符串或 DLDataType。
转换结果。
将函数转换为 PackedFunc
输入函数。
转换后的函数。
通过 asyncify 机制将从 tvm 运行时获取的函数包装为 AsyncPackedFunc
如果函数可能包含通过 asyncify 回调到异步 JS 函数的情况,您才需要调用它。一个常见的例子是 GPU 同步。
将任何函数包装为 Asyncify 总是安全的,但是您需要确保在调用该函数时使用 await。
PackedFunc。
包装后的 AsyncPackedFunc
使用 TypeDoc 生成
TVM 运行时实例。
所有由 TVM 运行时函数调用和 PackedFunc 实例返回的对象(NDArray、Module、PackedFunc)都通过作用域机制进行跟踪,当我们调用 EndScope 时将自动释放这些对象。
这对于释放底层 WASM 和 WebGPU 内存是必要的,这些内存不会通过 JS 原生垃圾回收机制进行跟踪。
这意味着我们必须熟悉以下函数