@huggingface/transformers
Version:
State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server!
57 lines • 2.38 kB
TypeScript
/**
* Resolves a dtype configuration value to a concrete dtype string.
* Handles string, per-file object, and "auto" forms with device-based fallback.
* @param {DataType|Record<string, DataType>|null|undefined} dtype The dtype config value.
* @param {string} fileName The model file name to look up if dtype is an object.
* @param {string} selectedDevice The resolved device string for fallback.
* @param {Object} [options]
* @param {DataType|Record<string, DataType>|null} [options.configDtype=null] Config dtype used as fallback when dtype is "auto" (supports device_config overlay in session.js).
* @param {(message: string) => void} [options.warn] Optional callback invoked when dtype is a per-file object but fileName is not found.
* @returns {DataType} The resolved dtype string.
*/
export function selectDtype(dtype: DataType | Record<string, DataType> | null | undefined, fileName: string, selectedDevice: string, { configDtype, warn }?: {
configDtype?: DataType | Record<string, DataType> | null;
warn?: (message: string) => void;
}): DataType;
export function isWebGpuFp16Supported(): Promise<boolean>;
export const DATA_TYPES: Readonly<{
auto: "auto";
fp32: "fp32";
fp16: "fp16";
q8: "q8";
int8: "int8";
uint8: "uint8";
q4: "q4";
bnb4: "bnb4";
q4f16: "q4f16";
q2: "q2";
q2f16: "q2f16";
q1: "q1";
q1f16: "q1f16";
}>;
/** @typedef {keyof typeof DATA_TYPES} DataType */
export const DEFAULT_DEVICE_DTYPE: "fp32";
export const DEFAULT_DEVICE_DTYPE_MAPPING: Readonly<{
wasm: "q8";
}>;
/** @type {Record<Exclude<DataType, "auto">, string>} */
export const DEFAULT_DTYPE_SUFFIX_MAPPING: Record<Exclude<DataType, "auto">, string>;
export const DataTypeMap: Readonly<{
float32: Float32ArrayConstructor;
float16: Uint16ArrayConstructor | Float16ArrayConstructor;
float64: Float64ArrayConstructor;
string: ArrayConstructor;
int8: Int8ArrayConstructor;
uint8: Uint8ArrayConstructor;
int16: Int16ArrayConstructor;
uint16: Uint16ArrayConstructor;
int32: Int32ArrayConstructor;
uint32: Uint32ArrayConstructor;
int64: BigInt64ArrayConstructor;
uint64: BigUint64ArrayConstructor;
bool: Uint8ArrayConstructor;
uint4: Uint8ArrayConstructor;
int4: Int8ArrayConstructor;
}>;
export type DataType = keyof typeof DATA_TYPES;
//# sourceMappingURL=dtypes.d.ts.map