diffusers.js icon indicating copy to clipboard operation
diffusers.js copied to clipboard

Node example -> Class CoreMLExecution is implemented in both

Open zaqqaz opened this issue 2 years ago • 3 comments

Just tried node example (with node v20.10.0)

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');
})

and got such error

objc[63467]: Class CoreMLExecution is implemented in both  node_modules/@aislamov/diffusers.js/node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.16.1.dylib (0x118318cb8) and node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.14.0.dylib (0x11abbceb0). One of the two will be used. Which one is undefined.

file:///***/test.mjs:5
const images = pipe.run({
                    ^

TypeError: pipe.run is not a function
    at file:///***/test.mjs:5:21

zaqqaz avatar Dec 05 '23 09:12 zaqqaz

Building for source and using examples seem to be working fine, so likely an issue with dependencies in published version, haven't investigated it further yet.

zaqqaz avatar Dec 05 '23 09:12 zaqqaz

objc[63467]: Class CoreMLExecution is implemented in both  node_modules/@aislamov/diffusers.js/node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.16.1.dylib (0x118318cb8) and node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.14.0.dylib (0x11abbceb0). One of the two will be used. Which one is undefined.

file:///***/test.mjs:5
const images = pipe.run({
                    ^

TypeError: pipe.run is not a function
    at file:///***/test.mjs:5:21

Same error:

Tab1.tsx:14 Uncaught (in promise) TypeError: pipe.run is not a function
    at generateImage (Tab1.tsx:14:25)
    at Tab1.tsx:32:5

My code:

  const generateImage = async () => {
    const pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx', { revision: 'cpu' })
    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');
    });

    setImageData(p.data);
  };

rbourgeat avatar Feb 22 '24 02:02 rbourgeat

objc[63467]: Class CoreMLExecution is implemented in both  node_modules/@aislamov/diffusers.js/node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.16.1.dylib (0x118318cb8) and node_modules/onnxruntime-node/bin/napi-v3/darwin/arm64/libonnxruntime.1.14.0.dylib (0x11abbceb0). One of the two will be used. Which one is undefined.

file:///***/test.mjs:5
const images = pipe.run({
                    ^

TypeError: pipe.run is not a function
    at file:///***/test.mjs:5:21

Same error:

Tab1.tsx:14 Uncaught (in promise) TypeError: pipe.run is not a function
    at generateImage (Tab1.tsx:14:25)
    at Tab1.tsx:32:5

My code:

  const generateImage = async () => {
    const pipe = DiffusionPipeline.fromPretrained('aislamov/stable-diffusion-2-1-base-onnx', { revision: 'cpu' })
    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');
    });

    setImageData(p.data);
  };

Hey,

its a promise, u have to call "await":

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

go-dev-space avatar Apr 22 '24 06:04 go-dev-space