@aislamov/diffusers.js

中文文档
0.9.3发布于 2023/11/07MITTypeScriptESM + CJS近 30 天下载 3385
中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 运行中的例子

用于运行 GPU/WebGPU 上传播模型的 slivers.js 库

此处见演示 https://islamov.ai/stable-diffusion-webgpu/ 页面存档备份,存于互联网档案馆

安装

npm i @aislamov/diffusers.js

使用量

浏览器(见示例/反应)

import { DiffusionPipeline } from '@aislamov/diffusers.js'

const pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx')
const images = pipe.run({
  prompt: "an astronaut running a horse",
  numInferenceSteps: 30,
})

const canvas = document.getElementById('canvas')
const data = await images[0].toImageData({ tensorLayout: 'NCWH', format: 'RGB' });
canvas.getContext('2d').putImageData(data, 0, 0);

节点.js(见实例/节点)

import { DiffusionPipeline } from '@aislamov/diffusers.js'
import { PNG } from 'pngjs'

const pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx')
const images = pipe.run({
  prompt: "an astronaut running a horse",
  numInferenceSteps: 30,
})

const data = await images[0].mul(255).round().clipByValue(0, 255).transpose(0, 2, 3, 1)

const p = new PNG({ width: 512, height: 512, inputColorType: 2 })
p.data = Buffer.from(data.data)
p.pack().pipe(fs.createWriteStream('output.png')).on('finish', () => {
  console.log('Image saved as output.png');
})

'aislamov/stable-diffusion-2-1-base-onnx'模型被优化为GPU,在没有CUDA/DML/WebGPU支持的情况下将无法加载. 请在没有GPU的机器上使用"cpu"修订版 .

const pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx', { revision: 'cpu' })

运行中的例子

浏览器/反应

npm install && npm run build
cd examples/react && npm install
npm run start

节点

npm install && npm run build
cd examples/node && npm install
node src/txt2img.mjs --prompt "a dog" --rev cpu

版本与发布记录

@aislamov/diffusers.js 共发布 4 个版本,首次发布于 2023/10/23;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.9.3latest2023/11/073 年前
0.9.22023/10/253 年前
0.9.12023/10/243 年前
0.9.02023/10/233 年前

关于 @aislamov/diffusers.js 的常见问题

@aislamov/diffusers.js 是什么?

此处见演示 https://islamov.ai/stable-diffusion-webgpu/ 页面存档备份,存于互联网档案馆

如何安装 @aislamov/diffusers.js?

在项目目录运行 npm install @aislamov/diffusers.js,或使用 pnpm add / yarn add / bun add。

@aislamov/diffusers.js 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aislamov/diffusers.js 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aislamov/diffusers.js 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aislamov/diffusers.js 可以商用吗?

@aislamov/diffusers.js 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aislamov/diffusers.js 的下载量有多少?

根据 npm 官方下载统计,@aislamov/diffusers.js 在 2026/10/05 – 2026/11/03 这 30 天内被下载 3,385 次,日均约 113 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aislamov/diffusers.js 还在维护吗?

最新版本 0.9.3 发布于 2023/11/07(3 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/10/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。